@Deprecated()
  public static @Nullable JsonSchemaObject resolveRefSchema(@NotNull JsonSchemaObject schemaNode, @NotNull JsonSchemaService service) {
    final String ref = schemaNode.getRef();
    assert !StringUtil.isEmptyOrSpaces(ref);

    if (schemaNode instanceof JsonSchemaObjectImpl schemaImpl) {
      var refsStorage = schemaImpl.getComputedRefsStorage(service.getProject());
      var schemaObject = refsStorage.getOrDefault(ref, NULL_OBJ);
      if (schemaObject != NULL_OBJ) return schemaObject;
    }

    var value = fetchSchemaFromRefDefinition(ref, schemaNode, service, schemaNode.isRefRecursive());
    if (!JsonFileResolver.isHttpPath(ref)) {
      service.registerReference(ref);
    }
    else if (value != null) {
      // our aliases - if http ref actually refers to a local file with specific ID
      VirtualFile virtualFile = service.resolveSchemaFile(value);
      if (virtualFile != null && !(virtualFile instanceof HttpVirtualFile)) {
        service.registerReference(virtualFile.getName());
      }
    }

    if (schemaNode instanceof JsonSchemaObjectImpl schemaImpl && value instanceof JsonSchemaObjectImpl valueImpl) {
      if (value != NULL_OBJ && !Objects.equals(value.getFileUrl(), schemaNode.getFileUrl())) {
        valueImpl.setBackReference(schemaImpl);
      }
      schemaImpl.getComputedRefsStorage(service.getProject()).put(ref, value);
    }
    return value;
  }
@Deprecated()
  public static @Nullable JsonSchemaObject resolveRefSchema(@NotNull JsonSchemaObject schemaNode, @NotNull JsonSchemaService service)