- List<String> jv = new ArrayList<>();
- int cp = 0, pos, escape;
- boolean wasescaped = false, wasquoted = false;
- String lstitem = null;
- while ((pos = input.indexOf(delimiter, cp)) >= cp)
+
+ final char escapeChar = '\\';
+ final char quoteChar = '\'';
+ int ilength = input.length();
+ int dlength = delimiter.length();
+ List<String> values = new ArrayList<>();
+
+ boolean escape = false;
+ boolean inquote = false;
+
+ int start = 0;
+ for (int i = 0; i < ilength; i++)