code: public static <T> boolean all(Iterable<T> it, Predicate<? super T> p) {
      if (it == null) {
        return false;
      }
      for (T elem : it) {
        if (!p.apply(elem)) {
          return false;
        }
      }
      return true;
    }
docs: Applies {@code all(p)} to {@code it}.
  
  <p><b>Warning:</b> this method accepts a {@code null} iterable
  object and returns {@code false}. The similarly-named method in
  {@link com.google.common.collect.Iterables} does <em>not</em> take
  {@code null} as input.