code: @NotNull
      public IntStream filter(@NotNull final IntPredicate predicate) {
          return new IntStream(params, new IntFilter(iterator, predicate));
      }
docs: 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