code: public static <T> T find(T[] array, Predicate<T> predicate){
          if(array == null){
              return null;
          }
          for(T t: array){
              if(predicate.apply(t)){
                  return t;
              }
          }
          return null;
      }
docs: Returns the first element in {@code array} that satisfies the given
  predicate.
  
  @param array
  @param predicate
  @param <T>
  @return