android/guava/src/com/google/common/base/Predicates.java
public static <T> Predicate<T> and(Predicate<? super T> first, Predicate<? super T> second) {
    return new AndPredicate<T>(Predicates.<T>asList(checkNotNull(first), checkNotNull(second)));
  }
public static <T> Predicate<T> and(Predicate<? super T> first, Predicate<? super T> second) {
    return new AndPredicate<T>(Predicates.<T>asList(checkNotNull(first), checkNotNull(second)));
  }
Returns a predicate that evaluates to {@code true} if both of its components evaluate to {@code
true}. The components are evaluated in order, and evaluation will be "short-circuited" as soon
as a false predicate is found.