<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _walk_issuers(self, path, paths, failed_paths):
 """ Recursively looks through the list of known certificates for the issuer of the certificate specified, stopping once the certificate in question is one contained within the CA certs list :param path: A ValidationPath object representing the current traversal of possible paths :param paths: A list of completed ValidationPath objects. This is mutated as results are found. :param failed_paths: A list of certvalidator.path.ValidationPath objects that failed due to no matching issuer before reaching a certificate from the CA certs list """


        if path.first.signature in self._ca_lookup:
            paths.append(path)
            return

        new_branches = 0
        for issuer in self._possible_issuers(path.first):
            try:
                self._walk_issuers(path.copy().prepend(issuer), paths, failed_paths)
                new_branches += 1
            except (DuplicateCertificateError):
                pass

        if not new_branches:
            failed_paths.append(path)