public RadiusClient newInstance() {
        return FunctionUtils.doUnchecked(() -> {
            if (sslContext != null && this.transportType == RadiusClientProperties.RadiusClientTransportTypes.RADSEC) {
                val transport = new RadSecClientTransport(sslContext.getKeyManagers(), sslContext.getTrustManagers());
                transport.setRemoteInetAddress(InetAddress.getByName(this.inetAddress));
                transport.setSharedSecret(sharedSecret);
                transport.setAuthPort(this.authenticationPort);
                transport.setAcctPort(this.accountingPort);
                transport.setSocketTimeout(this.socketTimeout);
                return new RadiusClient(transport);
            }
            return new RadiusClient(InetAddress.getByName(this.inetAddress), this.sharedSecret,
                this.authenticationPort, this.accountingPort, this.socketTimeout);
        });
    }
New instance radius client.
Attempts to pre-load authenticators
that are defined statically before
returning the client.

@return the radius client
support/cas-server-support-radius-core/src/main/java/org/apereo/cas/adaptors/radius/RadiusClientFactory.java