public static Action <ICharStream> Action <TTreeBuilderStrategy>(this IParseTreeListener listener, IEnumerable <IAntlrErrorListener <int> > lexerErrorListeners = null, IEnumerable <IAntlrErrorListener <IToken> > errorListeners = null) where TTreeBuilderStrategy : ITreeBuilderStrategy, new() { if (listener == null) { throw new ArgumentNullException("listener"); } return(input => listener.ListenTo(input, new TTreeBuilderStrategy(), lexerErrorListeners ?? new IAntlrErrorListener <int> [0], errorListeners ?? new IAntlrErrorListener <IToken> [0])); }