@SuppressWarnings("unchecked") private void expression() { term(); while (token == Lexer.OR) { NonTerminal or = NodeFactory.createNonTerminal(token); or.setLeft(root); term(); or.setRight(root); root = or; } }