public static <E> Set<E> filter(Set<E> unfiltered, Predicate<? super E> predicate) {
    if (unfiltered instanceof SortedSet) {
      return filter((SortedSet<E>) unfiltered, predicate);
    }
    if (unfiltered instanceof FilteredSet) {
      // Support clear(), removeAll(), and retainAll() when filtering a filtered
      // collection.
      FilteredSet<E> filtered = (FilteredSet<E>) unfiltered;
      Predicate<E> combinedPredicate = Predicates.<E>and(filtered.predicate, predicate);
      return new FilteredSet<E>((Set<E>) filtered.unfiltered, combinedPredicate);
    }

    return new FilteredSet<E>(checkNotNull(unfiltered), checkNotNull(predicate));
  }
public static <E> Set<E> filter(Set<E> unfiltered, Predicate<? super E> predicate) {
    if (unfiltered instanceof SortedSet) {
      return filter((SortedSet<E>) unfiltered, predicate);
    }
    if (unfiltered instanceof FilteredSet) {
      
      
      FilteredSet<E> filtered = (FilteredSet<E>) unfiltered;
      Predicate<E> combinedPredicate = Predicates.<E>and(filtered.predicate, predicate);
      return new FilteredSet<E>((Set<E>) filtered.unfiltered, combinedPredicate);
    }

    return new FilteredSet<E>(checkNotNull(unfiltered), checkNotNull(predicate));
  }
public static < E > Set < E > filter ( Set < E > unfiltered , Predicate < ? super E > predicate ) { if ( unfiltered instanceof SortedSet ) { return filter ( ( SortedSet < E > ) unfiltered , predicate ) ; } if ( unfiltered instanceof FilteredSet ) { // Support clear(), removeAll(), and retainAll() when filtering a filtered // collection. FilteredSet < E > filtered = ( FilteredSet < E > ) unfiltered ; Predicate < E > combinedPredicate = Predicates . < E > and ( filtered . predicate , predicate ) ; return new FilteredSet < E > ( ( Set < E > ) filtered . unfiltered , combinedPredicate ) ; } return new FilteredSet < E > ( checkNotNull ( unfiltered ) , checkNotNull ( predicate ) ) ; }
TODO(kevinb): how to omit that last sentence when building GWT javadoc?
TODO ( kevinb ) : how to omit that last sentence when building GWT javadoc?