<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def download(self, protocol, host, user, password, file_name, rbridge='all'):
 """ Download firmware to device """

        urn = "{urn:brocade.com:mgmt:brocade-firmware}"
        request_fwdl = self.get_firmware_download_request(protocol, host,
                                                          user, password,
                                                          file_name, rbridge)
        response = self._callback(request_fwdl, 'get')
        fwdl_result = None
        for item in response.findall('%scluster-output' % urn):
            fwdl_result = item.find('%sfwdl-msg' % urn).text
        if not fwdl_result:
            fwdl_result = response.find('%sfwdl-cmd-msg' % urn).text
        return fwdl_result