@Override
    public List<BaseClient> buildFrom(final CasConfigurationProperties properties) throws Exception {
        val newClients = new LinkedHashSet<BaseClient>();
        val builders = getDelegatedClientBuilders();
        for (val builder : builders) {
            val builtClients = builder.build(properties);
            LOGGER.debug("Builder [{}] provides [{}] clients", builder.getName(), builtClients.size());
            builtClients.forEach(Unchecked.consumer(instance -> {
                val preparedClient = configureClient(instance.getClient(), instance.getProperties(), properties);
                val configuredClients = builder.configure(preparedClient, instance.getProperties(), properties);
                configuredClients
                    .stream()
                    .filter(configured -> configured.equals(preparedClient))
                    .forEach(this::invokeClientCustomizers);
                newClients.addAll(configuredClients);
            }));
        }

        return List.copyOf(newClients);
    }
This is {@link BaseDelegatedIdentityProviderFactory}.

@author Misagh Moayyed
@since 6.2.0
support/cas-server-support-pac4j-core-clients/src/main/java/org/apereo/cas/support/pac4j/authentication/clients/BaseDelegatedIdentityProviderFactory.java