@classmethod
def fromSuccessResponse(cls, success_response):
    """Create a C{L{Response}} object from a successful OpenID
        library response
        (C{L{openid.consumer.consumer.SuccessResponse}}) response
        message

        @param success_response: A SuccessResponse from consumer.complete()
        @type success_response: C{L{openid.consumer.consumer.SuccessResponse}}

        @rtype: Response or None
        @returns: A provider authentication policy response from the
            data that was supplied with the C{id_res} response or None
            if the provider sent no signed PAPE response arguments.
        """
    self = cls()
    args = success_response.getSignedNS(self.ns_uri)
    is_openid1 = success_response.isOpenID1()
    if args is not None:
        self.parseExtensionArgs(args, is_openid1)
        return self
    else:
        return None
