code: public static <E> Collection<E> filter(Collection<E> unfiltered, Predicate<? super E> predicate) {
      if (unfiltered instanceof FilteredCollection) {
        // Support clear(), removeAll(), and retainAll() when filtering a filtered
        // collection.
        return ((FilteredCollection<E>) unfiltered).createCombined(predicate);
      }
  
      return new FilteredCollection<E>(checkNotNull(unfiltered), checkNotNull(predicate));
    }
docs: javadoc?