@Bean
    @ConditionalOnMissingBean(name = "samlIdPComponentSerializationPlanConfigurer")
    @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
    public ComponentSerializationPlanConfigurer samlIdPComponentSerializationPlanConfigurer() {
        return plan -> {
            plan.registerSerializableClass(SamlArtifactTicketExpirationPolicy.class);
            plan.registerSerializableClass(SamlRegisteredService.class);

            plan.registerSerializableClass(EduPersonTargetedIdAttributeReleasePolicy.class);
            plan.registerSerializableClass(GroovySamlRegisteredServiceAttributeReleasePolicy.class);
            plan.registerSerializableClass(MetadataEntityAttributesAttributeReleasePolicy.class);
            plan.registerSerializableClass(MetadataRequestedAttributesAttributeReleasePolicy.class);
            plan.registerSerializableClass(PatternMatchingEntityIdAttributeReleasePolicy.class);
        };
    }
This is {@link SamlIdPComponentSerializationConfiguration}.

@author Bob Sandiford
@since 5.2.0
support/cas-server-support-saml-idp/src/main/java/org/apereo/cas/config/SamlIdPComponentSerializationConfiguration.java