ExpressionParser { static Parser<Expression> notIn(Parser<Expression> expr) { return Parsers.sequence( expr, phrase("not in").next(tuple(expr)), (e, t) -> new BinaryExpression(e, Op.NOT_IN, t)); }    }
@Test public void testNotIn() { TerminalParserTest.assertParser(ExpressionParser.notIn(NUMBER), "1 not in (2)", new BinaryExpression(number(1), Op.NOT_IN, TupleExpression.of(number(2)))); TerminalParserTest.assertParser(ExpressionParser.notIn(NUMBER), "1 not in (2, 3)", new BinaryExpression(number(1), Op.NOT_IN, TupleExpression.of(number(2), number(3)))); }