protected Type mapAdditionalPropertiesEnumValue(Schema annotation) {
        if (!annotation.ref().isEmpty()) {
            // prevent invalid combination of "$ref" with "additionalProperties": false
            return Object.class;
        }
        switch (annotation.additionalProperties()) {
        case TRUE:
            // allow any additional properties
            return Object.class;
        case FALSE:
            // block any additional properties
            return Void.class;
        default:
            // fall-back on other configuration, e.g., as per Option.FORBIDDEN_ADDITIONAL_PROPERTIES_BY_DEFAULT
            return null;
        }
    }
Derive the allowed type of a schema's additional properties from the given annotation.

@param annotation annotation to check
@return {@code Object.class} (if true or an external "$ref" is specified), {@code Void.class} (if forbidden) or {@code null} (if undefined)
jsonschema-module-swagger-2/src/main/java/com/github/victools/jsonschema/module/swagger2/Swagger2Module.java