public static Predicates < Object > in ( Iterable < ? > iterable ) { if ( iterable instanceof SetIterable < ? > ) { return new InSetIterablePredicate ( ( SetIterable < ? > ) iterable ) ; } if ( iterable instanceof Set < ? > ) { return new InSetPredicate ( ( Set < ? > ) iterable ) ; } if ( iterable instanceof Collection < ? > && ( ( Collection < ? > ) iterable ) . size ( ) <= SMALL_COLLECTION_THRESHOLD ) { return new InCollectionPredicate ( ( Collection < ? > ) iterable ) ; } return new InSetIterablePredicate ( UnifiedSet . newSet ( iterable ) ) ; }
Creates a predicate which returns true if an object passed to accept method is contained in the iterable .