public static String[] split(String line) {
		List<String> parts = new ArrayList<String>();
		if (line != null && line.trim().length() != 0) {
			boolean escaped = false;
			StringBuilder stringBuilder = new StringBuilder();
			for (int i = 0; i < line.length(); i++) {
				char c = line.charAt(i);
				if (!escaped && (c == ' ' || c == '\t')) {
					parts.add(stringBuilder.toString());
					stringBuilder = new StringBuilder();
				} else {
					if (c == '"') {
						escaped = !escaped;
					} else {
						stringBuilder.append(c);
					}
				}
			}
			parts.add(stringBuilder.toString());
		}
		return parts.toArray(new String[parts.size()]);
	}