<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _load_cert_chain(self, cert_url, x509_backend=default_backend()):
 # type: (str, X509Backend) -> Certificate """Loads the certificate chain from the URL. This method loads the certificate chain from the certificate cache. If there is a cache miss, the certificate chain is loaded from the certificate URL using the :py:func:`cryptography.x509.load_pem_x509_certificate` method. The x509 backend is set as default to the :py:class:`cryptography.hazmat.backends.default_backend` instance. A :py:class:`VerificationException` is raised if the certificate cannot be loaded. :param cert_url: URL for retrieving certificate chain :type cert_url: str :param x509_backend: Backend to be used, for loading pem x509 certificate :type x509_backend: cryptography.hazmat.backends.interfaces.X509Backend :return: Certificate chain loaded from cache or URL :rtype cryptography.x509.Certificate :raises: :py:class:`VerificationException` if unable to load the certificate """

        try:
            if cert_url in self._cert_cache:
                return self._cert_cache.get(cert_url)
            else:
                with urlopen(cert_url) as cert_response:
                    cert_data = cert_response.read()
                    x509_certificate = load_pem_x509_certificate(
                        cert_data, x509_backend)
                    self._cert_cache[cert_url] = x509_certificate
                    return x509_certificate
        except ValueError as e:
            raise VerificationException(
                "Unable to load certificate from URL", e)