@Override
    public void registerHints(final RuntimeHints hints, final ClassLoader classLoader) {
        registerProxyHints(hints, TicketSerializationExecutionPlanConfigurer.class, TicketFactoryExecutionPlanConfigurer.class);
        registerProxyHints(hints, CipherExecutor.class);

        registerSpringProxyHints(hints, Cleanable.class, TicketRegistry.class);
        registerSpringProxyHints(hints, PropertyBoundCipherExecutor.class, CipherExecutor.class);
        registerSpringProxyHints(hints, QueueableTicketRegistry.class, TicketRegistry.class);
        registerSpringProxyHints(hints, AutoCloseable.class, DisposableBean.class, TicketRegistry.class);

        registerSerializationHints(hints, findSubclassesInPackage(Ticket.class, CentralAuthenticationService.NAMESPACE));
        val expirationPolicyClasses = findSubclassesInPackage(ExpirationPolicy.class, CentralAuthenticationService.NAMESPACE);
        registerSerializationHints(hints, expirationPolicyClasses);
        registerReflectionHints(hints, expirationPolicyClasses);

        val ticketCompactors = findSubclassesInPackage(TicketCompactor.class, CentralAuthenticationService.NAMESPACE);
        registerReflectionHints(hints, ticketCompactors);
        registerProxyHints(hints, TicketCompactor.class);
        registerProxyHints(hints, LockRegistry.class);

        registerReflectionHints(hints, findSubclassesInPackage(CipherExecutor.class, CentralAuthenticationService.NAMESPACE));
        registerReflectionHints(hints, findSubclassesInPackage(QueueableTicketRegistryMessageReceiver.class, CentralAuthenticationService.NAMESPACE));
    }
This is {@link CasCoreTicketsRuntimeHints}.

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