code: @SuppressWarnings("unchecked")
  	public static <T> Predicate<T> and(Collection<Predicate<? super T>> components) {
  		return and(components.toArray(new Predicate[0]));
  	}
docs: Returns a predicate that evaluates to true iff each of its components
  evaluates to true. The components are evaluated in order, and evaluation
  will be "short-circuited" as soon as the answer is determined.
  @param components the predicates to evaluate
  @param <T> the input type
  @return the resultant predicate