public List<Token> recognize(final List<Token> list) { for (int i = 0; i < list.size(); ++i) { final Token token = list.get(i); if (token.id == Sym.ID) { for (final Sym sym : Sym.values()) { if (sym.isKeyword) { if (token.string.equals(sym.keywordString())) { list.set(i, new Token(sym, token.string)); } } } } } return list; }