class PropertyCustomizingConverter implements ModelConverter {

	/**
	 * The Property customizers.
	 */
	private final Optional<List<PropertyCustomizer>> propertyCustomizers;

	/**
	 * Instantiates a new Property customizing converter.
	 *
	 * @param customizers the customizers
	 */
	public PropertyCustomizingConverter(Optional<List<PropertyCustomizer>> customizers) {
		this.propertyCustomizers = customizers;
	}

	@Override
	public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterator<ModelConverter> chain) {<FILL_FUNCTION_BODY>}
}

		if (chain.hasNext()) {
			Schema<?> resolvedSchema = chain.next().resolve(type, context, chain);
			if (type.isSchemaProperty() && propertyCustomizers.isPresent()) {
				List<PropertyCustomizer> propertyCustomizerList = propertyCustomizers.get();
				for (PropertyCustomizer propertyCustomizer : propertyCustomizerList)
					resolvedSchema = propertyCustomizer.customize(resolvedSchema, type);
			}
			return resolvedSchema;
		}
		return null;
	
<no_super_class>