private FilteringCollectionWrapper( final Collection<T> backingCollection, final Predicate<T> filter) { Validate.notNull(backingCollection); Validate.notNull(filter); this.backingCollection = backingCollection; this.filter = filter; }
@Override public FilteringCollectionWrapper<T> withFilter(final Predicate<T> filter) { Validate.notNull(filter); return new FilteringCollectionWrapper<T>(backingCollection, filter); }