docs: def _download(self):
          """Support function that encapsulates the OpenSSL transfer of the CSPICE
          package to the self._local io.ByteIO stream.
  
          :raises RuntimeError if there has been any issue with the HTTPS
                               communication
  
          .. note::
  
             Handling of CSPICE downloads from HTTPS
             ---------------------------------------
             Some Python distributions may be linked to an old version of OpenSSL
             which will not let you connect to NAIF server due to recent SSL cert
             upgrades on the JPL servers.  Moreover, versions older than
             OpenSSL 1.0.1g are known to contain the 'the Heartbleed Bug'.
             Therefore this method provides two different implementations for the
             HTTPS GET call to the NAIF server to download the required CSPICE
             distribution package.
          """
          # Use urllib3 (based on PyOpenSSL).
          if ssl.OPENSSL_VERSION < 'OpenSSL 1.0.1g':
              # Force urllib3 to use pyOpenSSL
              import urllib3.contrib.pyopenssl
              urllib3.contrib.pyopenssl.inject_into_urllib3()
  
              import certifi
              import urllib3
  
              try:
                  # Search proxy in ENV variables
                  proxies = {}
                  for key, value in os.environ.items():
                      if '_proxy' in key.lower():
                          proxies[key.lower().replace('_proxy','')] = value
  
                  # Create a ProolManager
                  if 'https' in proxies:
                      https = urllib3.ProxyManager(proxies['https'],
                                                  cert_reqs='CERT_REQUIRED',
                                                  ca_certs=certifi.where())
                  elif 'http' in proxies:
                      https = urllib3.ProxyManager(proxies['http'],
                                                  cert_reqs='CERT_REQUIRED',
                                                  ca_certs=certifi.where())
                  else:
                      https = urllib3.PoolManager(cert_reqs='CERT_REQUIRED',
                                                  ca_certs=certifi.where())
                  # Send the request to get the CSPICE package.
                  response = https.request('GET', self._rcspice,
                                           timeout=urllib3.Timeout(10))
              except urllib3.exceptions.HTTPError as err:
                  raise RuntimeError(err.message)
  
              # Convert the response to io.BytesIO and store it in local memory.
              self._local = io.BytesIO(response.data)
  
          # Use the standard urllib (using system OpenSSL).
          else:
              try:
                  # Send the request to get the CSPICE package (proxy auto detected).
                  response = urllib.request.urlopen(self._rcspice, timeout=10)
              except urllib.error.URLError as err:
                  raise RuntimeError(err.reason)
  
              # Convert the response to io.BytesIO and store it in local memory.
              self._local = io.BytesIO(response.read())