private static void processSamlServiceProvider(
        final AbstractSamlSPProperties provider,
        final ServicesManager servicesManager,
        final SamlRegisteredServiceCachingMetadataResolver samlRegisteredServiceCachingMetadataResolver,
        final Function<SamlRegisteredService, Void> beforeSave,
        final Function<SamlRegisteredService, Void> afterSave) throws Exception {
        val service = SamlSPUtils.newSamlServiceProviderService(provider, samlRegisteredServiceCachingMetadataResolver);
        if (service != null) {
            LOGGER.trace("Constructed service definition [{}]", service);
            beforeSave.apply(service);
            SamlSPUtils.saveService(service, servicesManager);
            afterSave.apply(service);
        }
    }
This is {@link CasSamlServiceProvidersAutoConfiguration}.
This class is marked as non-lazy, allowing to force-initialize the configuration
to process saml sp definitions as services.

@author Misagh Moayyed
@since 6.2.0
support/cas-server-support-saml-sp-integrations/src/main/java/org/apereo/cas/config/CasSamlServiceProvidersAutoConfiguration.java