public TF FirstOrDefault <TF>(Func <TF, bool> predicate) { var inner = Transformed.OfType <TF>().FirstOrDefault(predicate); if (inner != null) { return(inner); } return(_extendedSet.FirstOrDefault(predicate)); }
public IEnumerable <TO> OfType <TO>() { return(_extendedSet.OfType <TO>().Concat(Transformed.OfType <TO>())); }
public IEnumerable <TW> Where <TW>(Func <TW, bool> predicate) { return(Transformed.OfType <TW>().Where(predicate).Concat(_extendedSet.Where(predicate))); }