@Override
    public void registerHints(final RuntimeHints hints, final ClassLoader classLoader) {
        registerSerializationHints(hints, List.of(
            IPAddressIntelligenceResponse.class,
            GeoLocationRequest.class,
            GeoLocationResponse.class,
            DefaultAuthenticationHandlerExecutionResult.class,
            ValidationResponseType.class
        ));

        val subclassesInPackage = findSubclassesInPackage(Principal.class, CentralAuthenticationService.NAMESPACE);
        subclassesInPackage.addAll(findSubclassesInPackage(MessageDescriptor.class, CentralAuthenticationService.NAMESPACE));
        subclassesInPackage.addAll(findSubclassesInPackage(CredentialMetadata.class, CentralAuthenticationService.NAMESPACE));
        subclassesInPackage.addAll(findSubclassesInPackage(Authentication.class, CentralAuthenticationService.NAMESPACE));
        subclassesInPackage.addAll(findSubclassesInPackage(AuthenticationHandlerExecutionResult.class, CentralAuthenticationService.NAMESPACE));
        subclassesInPackage.addAll(findSubclassesInPackage(Credential.class, CentralAuthenticationService.NAMESPACE));
        registerSerializationHints(hints, subclassesInPackage);

        val credentials = findSubclassesInPackage(Credential.class, CentralAuthenticationService.NAMESPACE);
        registerReflectionHints(hints, credentials);

        registerSpringProxyHints(hints, PrePostAuthenticationHandler.class, AuthenticationHandler.class);
        registerSpringProxyHints(hints, WebApplicationService.class);

        registerProxyHints(hints, List.of(
            AuthenticationMetaDataPopulator.class,
            AuthenticationAccountStateHandler.class,
            AuthenticationEventExecutionPlanConfigurer.class,
            PrincipalElectionStrategyConflictResolver.class,
            PrincipalElectionStrategy.class,
            CredentialMetadata.class,
            AuthenticationHandler.class,
            AuthenticationPostProcessor.class,
            AuthenticationPreProcessor.class,
            AuthenticationTransactionManager.class,
            AuthenticationHandlerResolver.class));

        registerReflectionHints(hints,
            List.of(
                CacheCredentialsCipherExecutor.class,
                SimplePrincipal.class,
                DefaultAuthentication.class));

        registerSpringProxyHints(hints, AttributeDefinitionStore.class, DisposableBean.class, AutoCloseable.class);
    }
This is {@link CasCoreAuthenticationRuntimeHints}.

@author Misagh Moayyed
@since 7.0.0
core/cas-server-core-authentication/src/main/java/org/apereo/cas/nativex/CasCoreAuthenticationRuntimeHints.java