private void lex(String key, LinkedList<Token> tokens) {
		for (int i = 0; i < tokens.size(); i++) {	
			Token tok = tokens.get(i);
			String str = tok.getToken();			
			if (!tok.isTokenized()) {	// If string is not a token, and therefore needs to be processed...
				String[] delimited;

				// If the key happens to be a symbol such as '+', regex requires a double backslash before it

				if (key.equals(".") || operators.containsValue(key.charAt(0)))
				{
					delimited = str.split("\\" + key, -1);

				} else {
					delimited = str.split(key, -1); // keep trailing empty strings
				}

				tokens.remove(i);
				for (int j = delimited.length - 1; j > 0; j--) { // Insert the delimited strings back into the 
					tokens.add(i, new Token(delimited[j], false));				// linked list, but with the delimiter in between each
					tokens.add(i, new Token(key, true));
				}
				tokens.add(i, new Token(delimited[0], false));

				i += (delimited.length * 2) - 2; // Advance i to avoid parsing what was just inserted into the linked list.
			}
		}
	}