@Bean
        @ConditionalOnMissingBean(name = "ticketSerializationExecutionPlan")
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public TicketSerializationExecutionPlan ticketSerializationExecutionPlan(
            final ConfigurableApplicationContext applicationContext,
            final ObjectProvider<List<TicketSerializationExecutionPlanConfigurer>> providerList) {
            val providers = Optional.ofNullable(providerList.getIfAvailable()).orElseGet(ArrayList::new);
            AnnotationAwareOrderComparator.sort(providers);
            val plan = new DefaultTicketSerializationExecutionPlan(applicationContext);
            providers.forEach(provider -> provider.configureTicketSerialization(plan));
            return plan;
        }
This is {@link CasCoreTicketsSerializationConfiguration}.

@author Misagh Moayyed
@since 5.1.0
core/cas-server-core-tickets/src/main/java/org/apereo/cas/config/CasCoreTicketsSerializationConfiguration.java