code: @Override
     public CacheStream<R> filter(Predicate<? super R> predicate) {
        return addIntermediateOperation(new FilterOperation<>(predicate));
     }
docs: Intermediate operations that are stored for lazy evalulation