public List<String> parse(String line) {
		StringBuffer sb = new StringBuffer();
		list.clear();			// recycle to initial state
		int i = 0;

		if (line.length() == 0) {
			list.add(line);
			return list;
		}

		do {
            sb.setLength(0);
            if (i < line.length() && line.charAt(i) == '"')
                i = advQuoted(line, sb, ++i);	// skip quote
            else
                i = advPlain(line, sb, i);
            list.add(sb.toString());
            log.fine(sb.toString());
			i++;
		} while (i < line.length());

		return list;
	}