@Override
    public List<? extends AuthenticationHandler> buildInternal(final TenantDefinition tenantDefinition,
                                                               final ConfigurationPropertiesBindingContext<CasConfigurationProperties> bindingContext) {
        if (bindingContext.isBound() && bindingContext.containsBindingFor(SyncopeAuthenticationProperties.class)) {
            val casProperties = bindingContext.value();
            val syncope = casProperties.getAuthn().getSyncope();
            val handlers = SyncopeUtils.newAuthenticationHandlers(syncope, applicationContext,
                principalFactory, servicesManager, passwordPolicyConfiguration);
            handlers.forEach(AuthenticationHandler::markDisposable);
            return handlers;
        }
        return List.of();
    }
This is {@link TenantSyncopeAuthenticationHandlerBuilder}.

@author Misagh Moayyed
@since 7.3.0
support/cas-server-support-syncope-authentication/src/main/java/org/apereo/cas/syncope/TenantSyncopeAuthenticationHandlerBuilder.java