text: public static String[] parse(String line) {boolean insideQuote = false;ArrayList<String> result = new ArrayList<>();int quoteCount = 0;StringBuilder sb = new StringBuilder();for(int i = 0; i < line.length(); i++) {char c = line.charAt(i);if(c == QUOTE) {insideQuote = !insideQuote;quoteCount++;}if(c == COMMA && !insideQuote) {String value = sb.toString();value = unQuoteUnEscape(value);result.add(value);sb.setLength(0);continue;}sb.append(c);}result.add(sb.toString());if(quoteCount % 2 != 0) {return new String[0];}return result.toArray(new String[0]);}