docs: public static <T> Predicate<T> and(final Predicate<? super T>... ps) {
      return new Predicate<T>() {
        @Override
        public boolean apply(T obj) {
          for (Predicate<? super T> p : ps) {
            if (!p.apply(obj)) {
              return false;
            }
          }
          return true;
        }
      };
    }