code: def _save_queue(self):
          
          if self.queue is not None:
              # Maximum batch is 486, anything larger will still only
              # return 486
              batch_size = 400
              total = 0
              num_return = batch_size
  
              # Need to get all the tracks in batches, but Only get the next
              # batch if all the items requested were in the last batch
              while num_return == batch_size:
                  queue_items = self.device.get_queue(total, batch_size)
                  # Check how many entries were returned
                  num_return = len(queue_items)
                  # Make sure the queue is not empty
                  if num_return > 0:
                      self.queue.append(queue_items)
                  # Update the total that have been processed
                  total = total + num_return
docs: Save the current state of the queue.