class PageableOpenAPIConverter implements ModelConverter {

	/**
	 * The constant PAGEABLE_TO_REPLACE.
	 */
	private static final String PAGEABLE_TO_REPLACE = "org.springframework.data.domain.Pageable";

	/**
	 * The constant PAGE_REQUEST_TO_REPLACE.
	 */
	private static final String PAGE_REQUEST_TO_REPLACE = "org.springframework.data.domain.PageRequest";

	/**
	 * The constant PAGEABLE.
	 */
	private static final AnnotatedType PAGEABLE = new AnnotatedType(Pageable.class).resolveAsRef(true);

	/**
	 * The Spring doc object mapper.
	 */
	private final ObjectMapperProvider springDocObjectMapper;

	/**
	 * Instantiates a new Pageable open api converter.
	 *
	 * @param springDocObjectMapper the spring doc object mapper
	 */
	public PageableOpenAPIConverter(ObjectMapperProvider springDocObjectMapper) {
		this.springDocObjectMapper = springDocObjectMapper;
	}

	/**
	 * Resolve schema.
	 *
	 * @param type the type
	 * @param context the context
	 * @param chain the chain
	 * @return the schema
	 */
	@Override
	public Schema resolve(AnnotatedType type, ModelConverterContext context, Iterator<ModelConverter> chain) {<FILL_FUNCTION_BODY>}

}

		JavaType javaType = springDocObjectMapper.jsonMapper().constructType(type.getType());
		if (javaType != null) {
			Class<?> cls = javaType.getRawClass();
			if (PAGEABLE_TO_REPLACE.equals(cls.getCanonicalName()) || PAGE_REQUEST_TO_REPLACE.equals(cls.getCanonicalName())) {
				if (!type.isSchemaProperty())
					type = PAGEABLE;
				else
					type.name(cls.getSimpleName() + StringUtils.capitalize(type.getParent().getType()));
			}
		}
		return (chain.hasNext()) ? chain.next().resolve(type, context, chain) : null;
	
<no_super_class>