code: public <E> Iterable<E> searchForAll(final Searchable<E> searchable) {
      try {
        return searchForAll(configureMatcher(searchable).asList());
      }
      finally {
        MatcherHolder.unset();
      }
    }
docs: Searches the Searchable object finding all elements in the Searchable object matching the criteria
  defined by the Matcher.
  
  @param <E> the Class type of elements to search in the Searchable object.
  @param searchable the Searchable object to search.
  @return an Iterable object containing all elements from the Searchable object that match the criteria
  defined by the Matcher.
  @throws NullPointerException if the Searchable object is null!
  @see #configureMatcher(Searchable)
  @see #searchForAll(java.util.Collection)
  @see java.lang.Iterable
  @see org.cp.elements.util.search.Searchable#asList()