class SpringDocDataRestHints implements RuntimeHintsRegistrar {

	//spring-data-rest
	static String[] springDataRestTypeNames = { "org.springframework.data.rest.webmvc.config.DelegatingHandlerMapping",
			"org.springframework.data.rest.webmvc.support.DelegatingHandlerMapping",
			"org.springframework.data.rest.webmvc.RepositoryPropertyReferenceController",
			"org.springframework.data.rest.webmvc.RepositorySearchController",
			"org.springframework.data.rest.webmvc.RepositorySchemaController",
			"org.springframework.data.rest.webmvc.RepositoryEntityController",
			"org.springdoc.webflux.core.fn.SpringdocRouteBuilder",
			"org.springdoc.webflux.core.visitor.RouterFunctionVisitor"
	};

	@Override
	public void registerHints(RuntimeHints hints, ClassLoader classLoader) {<FILL_FUNCTION_BODY>}

}

		//springdoc
		hints.reflection().registerField(
				FieldUtils.getField(TypedResourceDescription.class, "type", true));
		hints.reflection().registerField(
				FieldUtils.getDeclaredField(DelegatingMethodParameter.class, "additionalParameterAnnotations", true));

		//spring-data-rest
		Arrays.stream(springDataRestTypeNames).forEach(springDataRestTypeName ->
				hints.reflection()
						.registerTypeIfPresent(classLoader, springDataRestTypeName,
								hint -> hint.withMembers(MemberCategory.DECLARED_FIELDS,
										MemberCategory.INVOKE_DECLARED_CONSTRUCTORS,
										MemberCategory.INVOKE_DECLARED_METHODS
								))
		);
	
<no_super_class>