public static List<? extends AuthenticationHandler> newAuthenticationHandlers(
        final SyncopeAuthenticationProperties syncope,
        final ConfigurableApplicationContext applicationContext,
        final PrincipalFactory syncopePrincipalFactory,
        final ServicesManager servicesManager,
        final PasswordPolicyContext syncopePasswordPolicyConfiguration) {
        if (syncope.isDefined()) {
            return Splitter.on(",").splitToList(syncope.getDomain())
                .stream()
                .map(domain -> {
                    val handler = new SyncopeAuthenticationHandler(syncope, servicesManager, syncopePrincipalFactory, domain.trim());
                    handler.setState(syncope.getState());
                    handler.setPasswordEncoder(PasswordEncoderUtils.newPasswordEncoder(syncope.getPasswordEncoder(), applicationContext));
                    handler.setPasswordPolicyConfiguration(syncopePasswordPolicyConfiguration);
                    val predicate = CoreAuthenticationUtils.newCredentialSelectionPredicate(syncope.getCredentialCriteria());
                    handler.setCredentialSelectionPredicate(predicate);
                    val transformer = PrincipalNameTransformerUtils.newPrincipalNameTransformer(syncope.getPrincipalTransformation());
                    handler.setPrincipalNameTransformer(transformer);
                    return handler;
                })
                .collect(Collectors.toList());
        }
        return List.of();
    }
New authentication handlers list.

@param syncope                            the syncope
@param applicationContext                 the application context
@param syncopePrincipalFactory            the syncope principal factory
@param servicesManager                    the services manager
@param syncopePasswordPolicyConfiguration the syncope password policy configuration
@return the list
support/cas-server-support-syncope-authentication/src/main/java/org/apereo/cas/syncope/SyncopeUtils.java