@Override
    public void registerHints(final RuntimeHints hints, final ClassLoader classLoader) {
        hints.resources().registerType(CasVersion.class);

        registerProxyHints(hints, List.of(
            ComponentSerializationPlanConfigurer.class,
            InitializingBean.class,
            Supplier.class,
            Runnable.class,
            Function.class,
            Consumer.class,
            Cleanable.class,
            CorsConfigurationSource.class
        ));

        registerSerializationHints(hints);

        registerReflectionHintForDeclaredMethod(hints, Map.Entry.class, "getKey");
        registerReflectionHintForDeclaredMethod(hints, Map.Entry.class, "getValue");
        registerReflectionHintForDeclaredMethod(hints, Map.class, "isEmpty");

        registerReflectionHintsForMethodsAndFields(hints, List.of(
            BigDecimal.class,
            BigInteger.class,
            Math.class,
            URL.class,
            URI.class,
            SetFactoryBean.class,
            ListFactoryBean.class,
            CasVersion.class,
            Module.class,
            Class.class,
            Arrays.class,
            Collections.class,
            Collection.class,
            List.class,
            Iterator.class,
            Iterable.class,
            Queue.class,
            Set.class,
            Comparator.class,
            Comparable.class,
            ResultSet.class,
            Calendar.class,
            Date.class,
            SortedMap.class,
            SortedSet.class,
            TimeZone.class,
            BiPredicate.class,
            BiFunction.class,
            Predicate.class,
            Function.class,
            Consumer.class,
            Supplier.class,
            ModuleLayer.class,
            Configuration.class,
            ResolvedModule.class,
            ServiceLoader.class,
            Callable.class,
            Map.class
        ));

        registerReflectionHintsForPublicElements(hints, List.of(System.class));
        
        registerReflectionHintsForDeclaredElements(hints, List.of(
            HashMap.class,
            LinkedHashMap.class,
            TypeReference.of("java.time.Ser")
        ));

        registerReflectionHintsForIntrospectedPublicElements(hints, List.of(
            TypeReference.of("java.util.LinkedHashMap$Entry"),
            TypeReference.of("java.util.TreeMap$Entry")
        ));

        registerReflectionHints(hints, List.of(
            ClassUtils.class,
            LoggerFactory.class
        ));

        registerReflectionHintsForConstructors(hints,
            List.of(
                TriStateBoolean.Deserializer.class,
                PersistenceAnnotationBeanPostProcessor.class,
                ConfigurationClassPostProcessor.class,
                EventListenerMethodProcessor.class,
                DefaultEventListenerFactory.class,
                AutowiredAnnotationBeanPostProcessor.class,
                CommonAnnotationBeanPostProcessor.class,
                RestActuatorEndpointFilter.class
            ));

        registerReflectionHintsForTypes(hints,
            List.of(
                TypeReference.of("java.util.HashMap$Node"),
                TypeReference.of("java.util.HashMap$TreeNode"))
        );

        registerReflectionHintsForTypes(hints, findSubclassesInPackage(Clock.class, Clock.class.getPackageName()));
        registerReflectionHintsForPublicElements(hints, findSubclassesInPackage(ObjectIdGenerator.class, "com.fasterxml.jackson"));
        registerReflectionHintsForPublicElements(hints, findSubclassesInPackage(LogMessageSummarizer.class, "org.apereo.cas"));
        registerReflectionHintsForPublicElements(hints, findSubclassesInPackage(CipherExecutor.class, "org.apereo.cas"));

        registerCaffeineHints(hints);
        FunctionUtils.doAndHandle(__ -> {
            val clazz = ClassUtils.getClass("nonapi.io.github.classgraph.classloaderhandler.ClassLoaderHandler", false);
            registerReflectionHints(hints, findSubclassesInPackage(clazz, "nonapi.io.github.classgraph.classloaderhandler"));
        });
    }
This is {@link CasCoreUtilRuntimeHints}.

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