code: @SuppressWarnings("unchecked")
    public static <T> List<T> findAll(T[] array, Filter<T> filter) {
  
      Assert.notNull(filter, "Filter is required");
  
      return stream(nullSafeArray(array)).filter(filter::accept).collect(Collectors.toList());
    }
docs: Searches the array returning all elements accepted by the {@link Filter}.
  
  @param <T> Class type of the elements in the array.
  @param array array to search.
  @param filter {@link Filter} used to find all elements in the array accepted by the {@link Filter}.
  @return a {@link List} containing all the elements from the array accepted by the {@link Filter}
  or an empty {@link List} if no elements were found.
  @throws IllegalArgumentException if {@link Filter} is null.
  @see org.cp.elements.lang.Filter
  @see #findOne(Object[], Filter)