/*
  * (non-Javadoc)
  *
  * @see com.echomine.net.SocketConnector#establishingConnection(com.echomine.net.SocketHandler,
  *      com.echomine.net.ConnectionContext)
  */
 protected Socket establishingConnection(
     SocketHandler socketHandler, ConnectionContext connectionCtx)
     throws IOException, ConnectionException {
   if (socketHandler instanceof HandshakeableSocketHandler) {
     Socket socket = null;
     if (connectionCtx.isSSL()) {
       socket = createSSLSocket(connectionCtx);
     } else {
       socket = createSocket(connectionCtx.getHost(), connectionCtx.getPort());
     }
     ConnectionEvent event = new ConnectionEvent(connectionCtx, ConnectionEvent.CONNECTION_OPENED);
     ((HandshakeableSocketHandler) socketHandler).handshake(socket, connectionCtx);
     fireConnectionEstablished(event);
     return socket;
   }
   return super.establishingConnection(socketHandler, connectionCtx);
 }