public override IEnumerable <TResult2> Select <TResult2>(Func <TResult, TResult2> selector) { return(new Enumerable.WhereSelectEnumerableIterator <TSource, TResult2>(this.source, this.predicate, Enumerable.CombineSelectors <TSource, TResult, TResult2>(this.selector, selector))); }