docs: final String printToString(boolean reportMismatchesOnly) {
      StringBuilder sb = new StringBuilder();
  
      if (!isMatched()) {
        sb.append("Differences were found:\n");
        printContents(/* includeMatches = */ false, /* fieldPrefix = */ "", sb);
  
        if (!reportMismatchesOnly && isAnyChildMatched()) {
          sb.append("\nFull diff report:\n");
          printContents(/* includeMatches = */ true, /* fieldPrefix = */ "", sb);
        }
      } else {
        sb.append("No differences were found.");
        if (!reportMismatchesOnly) {
          if (isAnyChildIgnored()) {
            sb.append("\nSome fields were ignored for comparison, however.\n");
          } else {
            sb.append("\nFull diff report:\n");
          }
          printContents(/* includeMatches = */ true, /* fieldPrefix = */ "", sb);
        }
      }
  
      return sb.toString();
    }