code: @Factory
    public static <T> Matcher<T> named(String name, Matcher<T> matcher) {
      return describedAs("%0 = %1", matcher, name, matcher);
  
    }
docs: Wraps an existing matcher, decorating its description with the name specified. All other functions are
  delegated to the decorated matcher, including its mismatch description.
  
  Example:
  <pre>named("theNameOfMyArgument", notNullValue())</pre>
  
  @param <T>
  the type of object to match
  @param name
  the given name of the wrapped matcher
  @param matcher
  the matcher to decorate with a name
  @return
  the decorated matcher