public static List<String> tokenize(String source,char separator){
  ArrayList<String> tokenized=new ArrayList<String>();
  if (impl == null) {
    int len=source.length();
    boolean lastSeparator=false;
    StringBuilder buf=new StringBuilder();
    for (int iter=0; iter < len; iter++) {
      char current=source.charAt(iter);
      if (current == separator) {
        if (lastSeparator) {
          buf.append(separator);
          lastSeparator=false;
          continue;
        }
        lastSeparator=true;
        if (buf.length() > 0) {
          tokenized.add(buf.toString());
          buf=new StringBuilder();
        }
      }
 else {
        lastSeparator=false;
        buf.append(current);
      }
    }
    if (buf.length() > 0) {
      tokenized.add(buf.toString());
    }
  }
 else {
    impl.splitString(source,separator,tokenized);
  }
  return tokenized;
}

public static List < String > tokenize ( String source , char separator ) { ArrayList < String > tokenized = new ArrayList < String > ( ) ; if ( impl == null ) { int len = source . length ( ) ; boolean lastSeparator = false ; StringBuilder buf = new StringBuilder ( ) ; for ( int iter = 0 ; iter < len ; iter ++ ) { char current = source . charAt ( iter ) ; if ( current == separator ) { if ( lastSeparator ) { buf . append ( separator ) ; lastSeparator = false ; continue ; } lastSeparator = true ; if ( buf . length ( ) > 0 ) { tokenized . add ( buf . toString ( ) ) ; buf = new StringBuilder ( ) ; } } else { lastSeparator = false ; buf . append ( current ) ; } } if ( buf . length ( ) > 0 ) { tokenized . add ( buf . toString ( ) ) ; } } else { impl . splitString ( source , separator , tokenized ) ; } return tokenized ; }
breaks a string to multiple strings .
