docs: public static <T> T findFirst(Iterator<T> iterator, Function1<? super T, Boolean> predicate) {
  		if (predicate == null)
  			throw new NullPointerException("predicate");
  		while(iterator.hasNext()) {
  			T t = iterator.next();
  			if (predicate.apply(t))
  				return t;
  		}
  		return null;
  	}