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