@Override
public Socket createSocket(String host, int port, int timeout) throws IOException, TIMEOUT {
this.initSSLContext();
InetAddress address = InetAddress.getByName(host);
SSLSocketFactory socketFactory = this.sslContext.getSocketFactory();
SSLSocket socket = (SSLSocket) socketFactory.createSocket();
socket.connect(new InetSocketAddress(address, port), timeout);
if (this.jsseSecurityDomain.getProtocols() != null)
socket.setEnabledProtocols(this.jsseSecurityDomain.getProtocols());
if (this.jsseSecurityDomain.getCipherSuites() != null)
socket.setEnabledCipherSuites(this.jsseSecurityDomain.getCipherSuites());