code: public static boolean matches(PrecedencedSelfDescribing self, Matcher<?> matcher, Object item, Description mismatch, String message) {
          if (message == null) {
              return matches(self, matcher, item, mismatch);
          }
          boolean paren = useParen(self, matcher);
          if (paren) message = message.replace("$1", "($1)");
          return QuickDiagnose.matches(matcher, item, mismatch, message);
      }
docs: Invokes {@link QuickDiagnose#matches(org.hamcrest.Matcher, java.lang.Object, org.hamcrest.Description, java.lang.String)}
  for {@code m},
  enclosed in parentheses if necessary.
  @param self
  @param matcher
  @param item
  @param mismatch
  @param message
  @return