### Question:
PrimitiveLongCollections { public static LongIterator filter( LongIterator source, final LongPredicate filter ) { return new PrimitiveLongFilteringIterator( source ) { @Override public boolean test( long item ) { return filter.test( item ); } }; } private  PrimitiveLongCollections(); static LongIterator iterator( final long... items ); static LongIterator concat( LongIterator... longIterators ); static LongIterator concat( Iterable<LongIterator> primitiveLongIterators ); static LongIterator filter( LongIterator source, final LongPredicate filter ); static LongIterator range( long start, long end ); static int indexOf( LongIterator iterator, long item ); static MutableLongSet asSet( Collection<Long> collection ); static MutableLongSet asSet( LongIterator iterator ); static int count( LongIterator iterator ); static long[] asArray( LongIterator iterator ); static long[] asArray( Iterator<Long> iterator ); static LongIterator toPrimitiveIterator( final Iterator<Long> iterator ); static Iterator<T> map( final LongFunction<T> mapFunction, final LongIterator source ); static List<Long> asList( LongIterator iterator ); static Iterator<Long> toIterator( final LongIterator primIterator ); static PrimitiveLongResourceIterator resourceIterator( final LongIterator iterator,
            final Resource resource ); static Set<Long> toSet( LongSet set ); static Set<Long> toSet( LongIterator iterator ); static long[] deduplicate( long[] values ); static MutableLongSet mergeToSet( LongIterable a, LongIterable b ); static final long[] EMPTY_LONG_ARRAY; }### Answer:
@Test void filter() { LongIterator items = PrimitiveLongCollections.iterator( 1, 2, 3 ); LongIterator filtered = PrimitiveLongCollections.filter( items, item -> item != 2 ); assertItems( filtered, 1, 3 ); }