private static @NotNull Map<String, JsonSchemaObjectImpl> readInnerObject(String parentPointer, @NotNull JsonValueAdapter element,
                                                                            @NotNull Collection<Pair<JsonSchemaObjectImpl, JsonValueAdapter>> queue,
                                                                            VirtualFile virtualFile) {
    final Map<String, JsonSchemaObjectImpl> map = new HashMap<>();
    if (!(element instanceof JsonObjectValueAdapter)) return map;
    final List<JsonPropertyAdapter> properties = ((JsonObjectValueAdapter)element).getPropertyList();
    for (JsonPropertyAdapter property : properties) {
      Collection<JsonValueAdapter> values = property.getValues();
      if (values.size() != 1) continue;
      JsonValueAdapter value = values.iterator().next();
      String propertyName = property.getName();
      if (propertyName == null) continue;
      var escapedName = JsonPointerUtil.escapeForJsonPointer(propertyName);
      if (value.isBooleanLiteral()) {
        // schema v7: `propName: true` is equivalent to `propName: {}`
        map.put(propertyName, new JsonSchemaObjectImpl(virtualFile, getNewPointer(escapedName, parentPointer)));
        continue;
      }
      if (!value.isObject()) continue;
      map.put(propertyName, enqueue(queue, new JsonSchemaObjectImpl(virtualFile, getNewPointer(escapedName, parentPointer)), value));
    }
    return map;
  }
private static @NotNull Map<String, JsonSchemaObjectImpl> readInnerObject(String parentPointer, @NotNull JsonValueAdapter element,
                                                                            @NotNull Collection<Pair<JsonSchemaObjectImpl, JsonValueAdapter>> queue,
                                                                            VirtualFile virtualFile)