public Collection<ParseTree> evaluate(ParseTree t) {List<ParseTree> nodes = new ArrayList<ParseTree>();for (Tree c : Trees.getChildren(t)) {if ( c instanceof TerminalNode ) {TerminalNode tnode = (TerminalNode)c;if ( (tnode.getSymbol().getType() == tokenType && !invert) ||(tnode.getSymbol().getType() != tokenType && invert) ){nodes.add(tnode);}}}return nodes;}

public override ICollection<IParseTree> Evaluate(IParseTree t){IList<IParseTree> nodes = new List<IParseTree>();foreach (ITree c in Trees.GetChildren(t)){if (c is ITerminalNode){ITerminalNode tnode = (ITerminalNode)c;if ((tnode.Symbol.Type == tokenType && !invert) || (tnode.Symbol.Type != tokenType && invert)){nodes.Add(tnode);}}}return nodes;}
