code: public final Ix<T> filter(IxPredicate<T> predicate) {
          return new IxFilter<T>(this, nullCheck(predicate, "predicate is null"));
      }
docs: Emits elements of this sequence which match the given predicate only.
  <p>
  The result's iterator() forwards the call to remove() to this' Iterator.
  @param predicate the predicate receiving the current element and if it
  returns true, the value is emitted, ignored otherwise.
  @return  the new Ix instance
  @throws NullPointerException if predicate is null
  @since 1.0