code: protected <T> Searchable<T> configureMatcher(final Searchable<T> searchable) {
      if (isCustomMatcherAllowed()) {
        Matcher<T> matcher = searchable.getMatcher();
  
        if (matcher != null) {
          MatcherHolder.set(matcher);
        }
      }
  
      return searchable;
    }
docs: Configures the desired Matcher used to match and find elements from the Searchable implementing object based on
  the annotation meta-data, applying only to the calling Thread and only if a custom Matcher is allowed.  The Matcher
  is local to calling Thread during the search operation and does not change the Matcher set on the Searcher.
  
  @param <T> the class type of the elements in the {@link Searchable} collection.
  @param searchable the Searchable implementing object used to determine the desired Matcher used to match and find
  elements during the search operation.
  @return the Searchable implementing object evaluated, allowing this method call to be chained.
  @see #isCustomMatcherAllowed()
  @see MatcherHolder#set(Matcher)
  @see org.cp.elements.util.search.Searchable#getMatcher()