public static <T> Predicate<T> or(Predicate<? super T> first, Predicate<? super T> second) {
    return new OrPredicate<T>(Predicates.<T>asList(checkNotNull(first), checkNotNull(second)));
  }
public static <T> Predicate<T> or(Predicate<? super T> first, Predicate<? super T> second) {
    return new OrPredicate<T>(Predicates.<T>asList(checkNotNull(first), checkNotNull(second)));
  }
public static < T > Predicate < T > or ( Predicate < ? super T > first , Predicate < ? super T > second ) { return new OrPredicate < T > ( Predicates . < T > asList ( checkNotNull ( first ) , checkNotNull ( second ) ) ) ; }
Returns a predicate that evaluates to {@code true} if either of its components evaluates to
{@code true}. The components are evaluated in order, and evaluation will be "short-circuited"
as soon as a true predicate is found.
Returns a predicate that evaluates to {