code: @SuppressWarnings("unchecked")
    @SafeVarargs
    @Nonnull
    public static <T> Predicate<T> and(final Predicate<? extends T>... ps) {
      return c -> {
        for (final Predicate<? extends T> p : ps) {
          if (!((Predicate<T>) p).test(c)) {
            return false;
          }
        }
        return true;
      };
    }
docs: Combines many predicates into a predicate that accepts its input only if it passes all predicates.
  
  @param ps  The predicates - if no predicates are given the predicate will return true always.
  @param <T> The type of the value to be tested by the predicates.
  @return