code: 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)));
    }
docs: 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.