private static LinkedList<Integer> stringToOrdListRec(String inputString, 
			LinkedList<Integer> partialOrdList) {
		if (inputString.isEmpty()) {
			// If the input String is empty and the partial ordering list isn't, 
			// the given ordering list gets returned.
			if (!partialOrdList.isEmpty()) return partialOrdList;
			// If both are empty, null is returned.
			else return null;
		}
		// isolating the input String's first character
		char firstChar = inputString.charAt(0);
		// If the String's first character is an X, it's considered to be the 
		// beginning of a variable.
		if (firstChar == 'X' || firstChar == 'x') {
			// retrieving the starting variable's number
			String varNoString = startingVarNoString(inputString);
			// If there is no number after the X, the String isn't valid.
			if (varNoString.equals("")) return null;
			// adding the variable number to the ordering list
			partialOrdList.add(Integer.parseInt(varNoString));
			// removing the variable number from the input string
			inputString = inputString.substring(varNoString.length());
			// recursively adding the rest of the input String
			return stringToOrdListRec(inputString.
					substring(varNoString.length()), partialOrdList);
		}
		// If the String's first character is a ',' or a '>', it's considered 
		// to be a separator between two variables.
		else if (firstChar == ',' || firstChar == '>') {
			// recursively adding the rest of the input String
			return stringToOrdListRec(inputString.substring(1), 
					partialOrdList);
		}
		// Otherwise the String isn't valid
		else return null;
	}