class CasClientBuilder extends AbstractBuilder {

    /**
     * <p>Constructor for CasClientBuilder.</p>
     *
     * @param properties a {@link Map} object
     */
    public CasClientBuilder(final Map<String, String> properties) {
        super(properties);
    }

    /**
     * <p>tryCreateCasClient.</p>
     *
     * @param clients a {@link java.util.List} object
     */
    public void tryCreateCasClient(final Collection<Client> clients) {<FILL_FUNCTION_BODY>}
}

        for (var i = 0; i <= MAX_NUM_CLIENTS; i++) {
            val loginUrl = getProperty(CAS_LOGIN_URL, i);
            val protocol = getProperty(CAS_PROTOCOL, i);
            if (isNotBlank(loginUrl)) {
                var configuration = new CasConfiguration();
                val casClient = new CasClient(configuration);
                configuration.setLoginUrl(loginUrl);
                if (isNotBlank(protocol)) {
                    configuration.setProtocol(CasProtocol.valueOf(protocol));
                }
                casClient.setName(concat(casClient.getName(), i));
                clients.add(casClient);
            }
        }
    
<methods><variables>protected static final int MAX_NUM_AUTHENTICATORS,protected static final int MAX_NUM_CLIENTS,protected static final int MAX_NUM_CUSTOM_PROPERTIES,protected static final int MAX_NUM_ENCODERS,protected final non-sealed Map<java.lang.String,org.pac4j.core.credentials.authenticator.Authenticator> authenticators,protected final non-sealed Map<java.lang.String,java.lang.String> properties