docs: def _prepare_conn(self, conn):
          """
          Prepare the ``connection`` for :meth:`urllib3.util.ssl_wrap_socket`
          and establish the tunnel if proxy is used.
          """
  
          if isinstance(conn, VerifiedHTTPSConnection):
              conn.set_cert(key_file=self.key_file,
                            cert_file=self.cert_file,
                            cert_reqs=self.cert_reqs,
                            ca_certs=self.ca_certs,
                            assert_hostname=self.assert_hostname,
                            assert_fingerprint=self.assert_fingerprint)
              conn.ssl_version = self.ssl_version
  
          if self.proxy is not None:
              # Python 2.7+
              try:
                  set_tunnel = conn.set_tunnel
              except AttributeError:  # Platform-specific: Python 2.6
                  set_tunnel = conn._set_tunnel
  
              if sys.version_info <= (2, 6, 4) and not self.proxy_headers:   # Python 2.6.4 and older
                  set_tunnel(self.host, self.port)
              else:
                  set_tunnel(self.host, self.port, self.proxy_headers)
  
              # Establish tunnel connection early, because otherwise httplib
              # would improperly set Host: header to proxy's IP:port.
              conn.connect()
  
          return conn