@Override
  public void map(final @NotNull Set<JsonSchemaObject> visited) {
    var current = mySourceNode;
    while (!StringUtil.isEmptyOrSpaces(current.getRef())) {
      ProgressManager.checkCanceled();
      final var definition = current.resolveRefSchema(myService);
      if (definition == null) {
        myState = SchemaResolveState.brokenDefinition;
        return;
      }
      // this definition was already expanded; do not cycle
      if (!visited.add(definition)) break;
      current = getJsonSchemaObjectMerger().mergeObjects(current, definition, current);
    }
    final Operation expandOperation = createExpandOperation(current, myService, myExpansionRequest);
    if (expandOperation != null) {
      myChildOperations.add(expandOperation);
    }
    else {
      myAnyOfGroup.add(current);
    }
  }
@Override
  public void map(final @NotNull Set<JsonSchemaObject> visited)