code: public <E> Iterable<E> searchForAll(final Collection<E> collection) {
      Assert.notNull(collection, "The collection to search cannot be null!");
  
      final List<E> results = new ArrayList<>(collection.size());
  
      for (E element : collection) {
        if (getMatcher().isMatch(element)) {
          results.add(element);
        }
      }
  
      return results;
    }
docs: Searches a collection of elements finding all elements in the collection matching the criteria
  defined by the Matcher.
  
  @param <E> the Class type of elements in the collection.
  @param collection the collection of elements to search.
  @return an Iterable object containing all elements in the collection that match the criteria
  defined by the Matcher.
  @throws NullPointerException if the collection is null!
  @see #getMatcher()
  @see java.lang.Iterable
  @see java.util.Collection