public static CodexTokenList parseSecondLevel(CodexTokenList list) {

		CodexTokenList result = new CodexTokenList();

		while (list.hasNextToken()) {

			TokenInfo t = list.getNextToken();

			if (t.getToken() == Tokens.STRING_VALUE) {

				if (t.getTokenData().toString().equals("if")) {

					result.addToken(new TokenInfo(Tokens.IF_DEF));

				} else if (t.getTokenData().toString().equals("for")) {

					result.addToken(new TokenInfo(Tokens.FOR_LOOP_DEF));

				} else if (t.getTokenData().toString().equals("while")) {

					result.addToken(new TokenInfo(Tokens.WHILE_LOOP_DEF));

				} else {

					result.addToken(t);
				}

			} else if (t.getToken() == Tokens.HASH_SYMBOL) {

				if (list.isNextToken(Tokens.STRING_VALUE)) {

					if (list.isNextTokenData("include")) {

						list.getNextToken();

						result.addToken(new TokenInfo(Tokens.INCLUDE_DEF));
						
					}else{
						
						result.addToken(t);
					}					
					
				}else{
					
					result.addToken(t);
				}

			} else {

				result.addToken(t);
			}
		}

		return result;
	}