public Stream <TOut, TOut[]> Filter(Func <TOut, bool> filter) { var(Stream, Pusher) = FilterStream <TOut> .GetFilterStream(filter, this); _streamer = Pusher; return(Stream); }