@NotNull
    public IntStream filter(@NotNull final IntPredicate predicate) {
        return new IntStream(params, new IntFilter(iterator, predicate));
    }
@ NotNull public IntStream filter ( @ NotNull final IntPredicate predicate ) { return new IntStream ( params , new IntFilter ( iterator , predicate ) ) ; }
Returns a stream consisting of the elements of this stream that match
the given predicate.

<p> This is an intermediate operation.

<p>Example:
<pre>
predicate: (a) -&gt; a &gt; 2
stream: [1, 2, 3, 4, -8, 0, 11]
result: [3, 4, 11]
</pre>

@param predicate non-interfering, stateless predicate to apply to each
element to determine if it should be included
@return the new stream