def METHOD_NAME(self, data):
    pkformat, data = data
    if pkformat == self._PRIVATE_KEY_FORMAT_ORIGINAL:
        try:
            key = serialization.load_der_private_key(
                data, password=None, backend=default_backend()
            )
        except (ValueError, TypeError, UnsupportedAlgorithm) as e:
            raise SSHException(str(e))
    elif pkformat == self._PRIVATE_KEY_FORMAT_OPENSSH:
        n, e, d, iqmp, p, q = self._uint32_cstruct_unpack(data, "iiiiii")
        public_numbers = rsa.RSAPublicNumbers(e=e, n=n)
        key = rsa.RSAPrivateNumbers(
            p=p,
            q=q,
            d=d,
            dmp1=d % (p - 1),
            dmq1=d % (q - 1),
            iqmp=iqmp,
            public_numbers=public_numbers,
        ).private_key(default_backend())
    else:
        self._got_bad_key_format_id(pkformat)
    assert isinstance(key, rsa.RSAPrivateKey)
    self.key = key