docs: private static void checkValidObject(Path path, AbstractConfigObject reference,
              AbstractConfigObject value,
              List<ConfigException.ValidationProblem> accumulator) {
          for (Map.Entry<String, ConfigValue> entry : reference.entrySet()) {
              String key = entry.getKey();
  
              Path childPath;
              if (path != null)
                  childPath = Path.newKey(key).prepend(path);
              else
                  childPath = Path.newKey(key);
  
              AbstractConfigValue v = value.get(key);
              if (v == null) {
                  addMissing(accumulator, entry.getValue(), childPath, value.origin());
              } else {
                  checkValid(childPath, entry.getValue(), v, accumulator);
              }
          }
      }