docs: def edit_queue(self, queue_id, **kwargs):
          """ Edit queue (undocumented API feature).
  
          :param queue_id: Identification of queue by name (str) or ID (int)
          :param kwargs: Other fields to edit from the following list:
  
                            * Name
                            * Description
                            * CorrespondAddress
                            * CommentAddress
                            * InitialPriority
                            * FinalPriority
                            * DefaultDueIn
  
          :returns: ID or name of edited queue or False when edit fails
          :raises BadRequest: When queue does not exist
          :raises InvalidUse: When invalid fields are set
          """
  
          valid_fields = set(
              ('name', 'description', 'correspondaddress', 'commentaddress', 'initialpriority', 'finalpriority', 'defaultduein'))
          used_fields = set(map(lambda x: x.lower(), kwargs.keys()))
  
          if not used_fields <= valid_fields:
              invalid_fields = ", ".join(list(used_fields - valid_fields))
              raise InvalidUse("Unsupported names of fields: {}.".format(invalid_fields))
          post_data = 'id: queue/{}\n'.format(str(queue_id))
          for key, val in iteritems(kwargs):
              post_data += '{}: {}\n'.format(key, val)
          msg = self.__request('edit', post_data={'content': post_data})
          msgs = msg.split('\n')
          if (self.__get_status_code(msg) == 200) and (len(msgs) > 2):
              match = self.RE_PATTERNS['queue_pattern'].match(msgs[2])
              if match:
                  return match.group(1)
          return False