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));
  }
public static <E> Collection<E> filter(Collection<E> unfiltered, Predicate<? super E> predicate) {
    if (unfiltered instanceof FilteredCollection) {
      
      
      return ((FilteredCollection<E>) unfiltered).createCombined(predicate);
    }

    return new FilteredCollection<E>(checkNotNull(unfiltered), checkNotNull(predicate));
  }
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 ) ) ; }
javadoc?
javadoc?