code: def queue_message(self, *messages):
          
          for message in messages:
              for internal_message in message.gather():
                  internal_message.idle_time = self._counter.get_current_ms()
                  internal_message.state = constants.MessageState.WaitingToBeSent
                  self._pending_messages.append(internal_message)
docs: Add one or more messages to the send queue.
          No further action will be taken until either `SendClient.wait()`
          or `SendClient.send_all_messages()` has been called.
          The client does not need to be open yet for messages to be added
          to the queue. Multiple messages can be queued at once:
              - `send_client.queue_message(my_message)`
              - `send_client.queue_message(message_1, message_2, message_3)`
              - `send_client.queue_message(*my_message_list)`
  
          :param messages: A message to send. This can either be a single instance
           of `Message`, or multiple messages wrapped in an instance of `BatchMessage`.
          :type message: ~uamqp.message.Message