@Contract(pure=true)
  public static <T> T find(T @NotNull [] array, @NotNull Condition<? super T> condition) {
    for (T element : array) {
      if (condition.value(element)) return element;
    }
    return null;
  }
@Contract(pure=true)
  public static <T> T find(T @NotNull [] array, @NotNull Condition<? super T> condition)