void () { if (myWalker == null) return; final PsiElement checkable = myWalker.findElementToCheck(myPosition); if (checkable == null) return; final ThreeState isName = myWalker.isName(checkable); final JsonPointerPosition position = myWalker.findPosition(checkable, isName == ThreeState.NO); if (position == null || position.isEmpty() && isName == ThreeState.NO) return; final Set<String> knownNames = new HashSet<>(); final var nestedCompletionsNode = NestedCompletionsNodeKt.navigate(myRootSchema.getNestedCompletionRoot(), position); new JsonSchemaResolver(myProject, myRootSchema, position) .resolve() .forEach(schema -> { NestedCompletionsKt.collectNestedCompletions(schema, myProject, nestedCompletionsNode, null, (path, subSchema) -> { processSchema(subSchema, isName, checkable, knownNames, path); return Unit.INSTANCE; }); }); for (LookupElement variant : myVariants) { myResultConsumer.consume(variant); } }