private static JsonSchemaObject resolvePropertySchema(@NotNull JsonSchemaObject schema, String req) {
    var propOrNull = schema.getPropertyByName(req);
    if (propOrNull != null) {
      return propOrNull;
    }

    JsonSchemaObject propertySchema = schema.getMatchingPatternPropertySchema(req);
    if (propertySchema != null) {
      return propertySchema;
    }

    JsonSchemaObject additionalPropertiesSchema = schema.getAdditionalPropertiesSchema();
    if (additionalPropertiesSchema != null) {
      return additionalPropertiesSchema;
    }

    JsonSchemaObject unevaluatedPropertiesSchema = schema.getUnevaluatedPropertiesSchema();
    if (unevaluatedPropertiesSchema != null && unevaluatedPropertiesSchema.getConstantSchema() == null) {
      return unevaluatedPropertiesSchema;
    }

    return null;
  }
private static JsonSchemaObject resolvePropertySchema(@NotNull JsonSchemaObject schema, String req)