public ExpressionNode parse(String modelExpression) throws RecognitionException {
ANTLRStringStream in = new ANTLRStringStream(modelExpression);
ExprLexer lexer = new ExprLexer(in);
CommonTokenStream tokens = new CommonTokenStream(lexer);
ExprParser parser = new ExprParser(tokens);
CommonTree tree = (CommonTree) parser.model_expression().getTree();
return visit(tree);
}
protected ExpressionNode visit(Tree tree) {
if (tree.getType() == ExprParser.GROUP) {