@Override
    public List<AuthenticationHandler> buildInternal(final TenantDefinition tenantDefinition,
                                                     final ConfigurationPropertiesBindingContext<CasConfigurationProperties> bindingContext) {
        val handlers = new ArrayList<AuthenticationHandler>();
        val jdbc = bindingContext.value().getAuthn().getJdbc();
        if (bindingContext.containsBindingFor(BindJdbcAuthenticationProperties.class)) {
            createHandler(jdbc.getBind(), handlers);
        }
        if (bindingContext.containsBindingFor(QueryJdbcAuthenticationProperties.class)) {
            createHandler(jdbc.getQuery(), handlers);
        }
        if (bindingContext.containsBindingFor(QueryEncodeJdbcAuthenticationProperties.class)) {
            createHandler(jdbc.getEncode(), handlers);
        }
        if (bindingContext.containsBindingFor(SearchJdbcAuthenticationProperties.class)) {
            createHandler(jdbc.getSearch(), handlers);
        }
        if (bindingContext.containsBindingFor(ProcedureJdbcAuthenticationProperties.class)) {
            createHandler(jdbc.getProcedure(), handlers);
        }
        return handlers;
    }
This is {@link TenantJdbcAuthenticationHandlerBuilder}.

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