public static String[] splitByNonNestedChars(String s, char... c){
		//get setup
		int parDepth = 0;
		String chars = new String(c);
		ArrayList<String> parts = new ArrayList<String>();
		//search for matches
		for(int i = 0; i < s.length(); i++){
			if(s.charAt(i) == '(') parDepth++;
			else if(s.charAt(i) == ')') parDepth--;
			//if it's a char we split at, and it's not the first one
			else if(parDepth == 0 && i != 0 && chars.indexOf(s.charAt(i)) != -1){
				parts.add(s.substring(0, i));
				s = s.substring(i);
				i = 0;
			}
		}
		parts.add(s); // add the rest of the string
		return parts.toArray(new String[parts.size()]);
	}