code: private SSLSocket getNewSocket() throws IOException {
  		String host = getUrl().getHost();
  		int port = getPort();
  		Socket socketConnection = new Socket();
  		InetSocketAddress mapServerAddress = new InetSocketAddress(host, port);
  		socketConnection.connect(mapServerAddress, mInitialConnectionTimeout);
  		SSLSocket ret = (SSLSocket) mSocketFactory.createSocket(socketConnection, host, port, true);
  
  		ret.setTcpNoDelay(true);
  		ret.setWantClientAuth(true);
  
  		// Check if all is good... Will throw IOException if we don't
  		// like the other end...
  		ret.getSession().getPeerCertificates();
  
  		if (!mHostnameVerifier.verify(mUrl.getHost(), ret.getSession())) {
  			throw new IOException("Hostname Verification failed! "
  					+ "Did you set ifmapj.communication.verifypeerhost?");
  		}
  
  		return ret;
  	}
docs: Before we allocate a new socket, try to delete the old one.
  closeTcpConnection() needs to be a nop for non-opened connections.
  
  @return
  @throws IOException