public static <T> InternalIterator<T> create(InternalIterator<? super T> iterator, Condition<? super T> filter) {
      return new Filtering<>(iterator, filter);
    }
public static <T> InternalIterator<T> create(InternalIterator<? super T> iterator, Condition<? super T> filter)