private static MyReader createContainer(@NotNull String containerName,
                                          final @NotNull PairConsumer<JsonSchemaObjectImpl, List<JsonSchemaObjectImpl>> delegate) {
    return (element, object, queue, virtualFile) -> {
      if (element instanceof JsonArrayValueAdapter) {
        final List<JsonValueAdapter> list = ((JsonArrayValueAdapter)element).getElements();
        final List<JsonSchemaObjectImpl> members = new ArrayList<>(list.size());
        for (int i = 0; i < list.size(); i++) {
          JsonValueAdapter value = list.get(i);
          if (!(value.isObject())) continue;
          members.add(
            enqueue(queue, new JsonSchemaObjectImpl(virtualFile, getNewPointer(containerName + "/" + i, object.getPointer())), value));
        }
        delegate.consume(object, members);
      }
    };
  }
private static MyReader createContainer(@NotNull String containerName,
                                          final @NotNull PairConsumer<JsonSchemaObjectImpl, List<JsonSchemaObjectImpl>> delegate)