public String join(List<String> list,String delimiter,String escapeSequence){
  String result=null;
  if (list != null) {
    List<String> filteredAndEscaped=new ArrayList<>();
    for (    String element : list) {
      if (StringUtils.isNotBlank(element)) {
        element=element.replace(delimiter,escapeSequence + delimiter);
        filteredAndEscaped.add(element);
      }
    }
    result=StringUtils.join(filteredAndEscaped,delimiter);
  }
  return result;
}

public String join ( List < String > list , String delimiter , String escapeSequence ) { String result = null ; if ( list != null ) { List < String > filteredAndEscaped = new ArrayList < > ( ) ; for ( String element : list ) { if ( StringUtils . isNotBlank ( element ) ) { element = element . replace ( delimiter , escapeSequence + delimiter ) ; filteredAndEscaped . add ( element ) ; } } result = StringUtils . join ( filteredAndEscaped , delimiter ) ; } return result ; }
joins the given list of strings , separating each by the given delimiter . the elements are ignored if blank . if the original string contains the delimiter , it will be escaped by prepending it with the given escape sequence . if given list is null , the result is also null .
