@ConditionalOnMissingBean(name = "componentSerializationPlan")
    @Bean
    @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
    public ComponentSerializationPlan componentSerializationPlan(
        final ObjectProvider<List<ComponentSerializationPlanConfigurer>> configurers) {
        val plan = new DefaultComponentSerializationPlan();
        plan.registerSerializableClass(TriStateBoolean.class);

        configurers.ifAvailable(cfgs -> cfgs.forEach(c -> {
            LOGGER.trace("Configuring component serialization plan [{}]", c.getName());
            c.configureComponentSerializationPlan(plan);
        }));

        return plan;
    }
This is {@link CasCoreUtilSerializationConfiguration}.

@author Misagh Moayyed
@since 5.2.0
core/cas-server-core-util/src/main/java/org/apereo/cas/config/CasCoreUtilSerializationConfiguration.java