public static String[] split(String str, char separatorChar) {
private static String[] split(String str, char separatorChar) {
    public static String[] split(String str, char separatorChar) {        if (str == null) {            return null;        }        int len = str.length();        if (len == 0) {            return new String[0];        }        List list = new ArrayList();        int i = 0, start = 0;        boolean match = false;        while (i < len) {            char ch = str.charAt(i);            // Skip any separatorChar within quotes            if(ch == '\"') {                i++;                while(i < len && str.charAt(i) != '\"'){                    i++;                }                if(i < len){                    i++;                    continue;                }            }            if (ch == separatorChar) {                if (match) {                    list.add(str.substring(start, i));                    match = false;                }                start = ++i;                continue;            }            match = true;            i++;        }        if (match) {            list.add(str.substring(start, i));        }        return (String[]) list.toArray(new String[list.size()]);    }