void (JsonValueAdapter propValue, JsonSchemaObject schema, JsonSchemaType schemaType, JsonValidationHost consumer, JsonComplianceCheckerOptions options) { List<Object> enumItems = schema.getEnum(); if (enumItems == null) return; final JsonLikePsiWalker walker = JsonLikePsiWalker.getWalker(propValue.getDelegate(), schema); if (walker == null) return; final String text = StringUtil.notNullize(walker.getNodeTextForValidation(propValue.getDelegate())); BiFunction<String, String, Boolean> eq = options.isCaseInsensitiveEnumCheck() || schema.isForceCaseInsensitive() ? String::equalsIgnoreCase : String::equals; for (Object object : enumItems) { if (checkEnumValue(object, walker, propValue, text, eq)) return; } consumer.error(JsonBundle.message("schema.validation.enum.mismatch", StringUtil.join(enumItems, o -> o.toString(), ", ")), propValue.getDelegate(), JsonValidationError.FixableIssueKind.NonEnumValue, null, JsonErrorPriority.MEDIUM_PRIORITY); }