docs: public static Document convertValuesWithMismatchedTypes( Document original,
                                                               SchemaLibrary.Results results ) {
          if (results == null || !results.hasProblems()) return original;
  
          // Create a conversion object for each of the field values with mismatched (but convertable) types ...
          LinkedList<Conversion> conversions = new LinkedList<>();
          for (SchemaLibrary.Problem problem : results) {
              if (problem instanceof SchemaLibrary.MismatchedTypeProblem) {
                  conversions.add(new Conversion((SchemaLibrary.MismatchedTypeProblem)problem));
              }
          }
          if (conversions.isEmpty()) return original;
  
          // Transform the original document, starting at the first level ...
          return convertValuesWithMismatchedTypes(original, 0, conversions);
      }