android/guava/src/com/google/common/base/Predicates.java
public static <T> Predicate<T> in(Collection<? extends T> target) {
    return new InPredicate<T>(target);
  }
public static <T> Predicate<T> in(Collection<? extends T> target) {
    return new InPredicate<T>(target);
  }
public static < T > Predicate < T > in ( Collection < ? extends T > target ) { return new InPredicate < T > ( target ) ; }
Returns a predicate that evaluates to {@code true} if the object reference being tested is a
member of the given collection. It does not defensively copy the collection passed in, so
future changes to it will alter the behavior of the predicate.

<p>This method can technically accept any {@code Collection<?>}, but using a typed collection
helps prevent bugs. This approach doesn't block any potential users since it is always possible
to use {@code Predicates.<Object>in()}.

@param target the collection that may contain the function input
Returns a predicate that evaluates to { @code true } if the object reference being tested is a member of the given collection . It does not defensively copy the collection passed in so future changes to it will alter the behavior of the predicate .