code: def _iq_request_coro_done_send_reply(self, request, task):
          
          try:
              payload = task.result()
          except errors.XMPPError as err:
              self._send_iq_reply(request, err)
          except Exception:
              response = self._compose_undefined_condition(request)
              self._enqueue(response)
              self._logger.exception("IQ request coroutine failed")
          else:
              self._send_iq_reply(request, payload)
docs: Called when an IQ request handler coroutine returns. `request` holds
          the IQ request which triggered the excecution of the coroutine and
          `task` is the :class:`asyncio.Task` which tracks the running coroutine.
  
          Compose a response and send that response.