void (@NotNull JsonSchemaObject schema, boolean insertComma, boolean hasValue, @NotNull Set<String> forbiddenNames, @Nullable JsonPropertyAdapter adapter, Set<String> knownNames, @Nullable SchemaPath completionPath) { List<IfThenElse> ifThenElseList = schema.getIfThenElse(); if (ifThenElseList == null) return; JsonLikePsiWalker walker = JsonLikePsiWalker.getWalker(myPosition, schema); JsonPropertyAdapter propertyAdapter = walker == null ? null : walker.getParentPropertyAdapter(myPosition); if (propertyAdapter == null) return; JsonObjectValueAdapter object = propertyAdapter.getParentObject(); if (object == null) return; for (IfThenElse ifThenElse : ifThenElseList) { JsonSchemaObject effectiveBranch = effectiveBranchOrNull(ifThenElse, myProject, object); if (effectiveBranch == null) continue; addAllPropertyVariants(insertComma, hasValue, forbiddenNames, adapter, effectiveBranch.getProperties(), knownNames, completionPath); } }