void (JsonSchemaObject schema, ThreeState isName, PsiElement checkable, Set<String> knownNames, @Nullable SchemaPath completionPath) { if (isName != ThreeState.NO) { final var completionOriginalPosition = NestedCompletionsKt.findChildBy(myWalker, completionPath, myOriginalPosition); final var completionPosition = NestedCompletionsKt.findChildBy(myWalker, completionPath, myPosition); final boolean insertComma = myWalker.hasMissingCommaAfter(myPosition); final boolean hasValue = myWalker.isPropertyWithValue(checkable); final Set<String> properties = myWalker.getPropertyNamesOfParentObject(completionOriginalPosition, completionPosition); final JsonPropertyAdapter adapter = myWalker.getParentPropertyAdapter(completionOriginalPosition); final Map<String, JsonSchemaObject> schemaProperties = schema.getProperties(); final Set<String> forbiddenNames = SetsKt.plus( findPropertiesThatMustNotBePresent(schema, myPosition, myProject, properties), properties ); addAllPropertyVariants(insertComma, hasValue, forbiddenNames, adapter, schemaProperties, knownNames, completionPath); addIfThenElsePropertyNameVariants(schema, insertComma, hasValue, forbiddenNames, adapter, knownNames, completionPath); addPropertyNameSchemaVariants(schema); } if (isName != ThreeState.YES) { suggestValues(schema, isName == ThreeState.NO); } }