private TResult ExecuteLastOrDefault <TResult>() { var enumerable = new NextProviderEnumerable <TIn, TResult>(this.resource, this.targetExpression); var predicate = this.GetPredicateArgument <TResult>(); return(predicate == null?enumerable.LastOrDefault() : enumerable.LastOrDefault(predicate)); }
private TResult ExecuteElementAtOrDefault <TResult>() { var enumerable = new NextProviderEnumerable <TIn, TResult>(this.resource, this.targetExpression); return(enumerable.ElementAtOrDefault(this.GetIndexArgument())); }