code: public static <T> T findOne(Iterable<T> iterable, Filter<T> filter) {
  
      Assert.notNull(filter, "Filter is required");
  
      return StreamSupport.stream(nullSafeIterable(iterable).spliterator(), false)
        .filter(filter::accept)
        .findFirst().orElse(null);
    }
docs: Searches the {@link Iterable} for the first element accepted by the {@link Filter}.
  
  @param <T> Class type of the elements in the {@link Iterable}.
  @param iterable {@link Iterable} collection of elements to search.
  @param filter {@link Filter} used to find the first element from the {@link Iterable} accepted
  by the {@link Filter}.
  @return the first element from the {@link Iterable} accepted by the {@link Filter}, or {@literal null}
  if no such element is found.
  @throws IllegalArgumentException if {@link Filter} is null.
  @see #findAll(Iterable, Filter)
  @see #nullSafeIterable(Iterable)
  @see org.cp.elements.lang.Filter
  @see java.lang.Iterable