public FrameHandler create(Address addr) throws IOException {
   String hostName = addr.getHost();
   int portNumber = ConnectionFactory.portOrDefault(addr.getPort(), ssl);
   Socket socket = null;
   try {
     socket = factory.createSocket();
     configurator.configure(socket);
     socket.connect(new InetSocketAddress(hostName, portNumber), connectionTimeout);
     return create(socket);
   } catch (IOException ioe) {
     quietTrySocketClose(socket);
     throw ioe;
   }
 }