docs: def make_properties_list(self, field):
          """Fill the ``field`` into a properties list and return it.
  
          :param dict field: the content of the property list to make
          :return: field_list instance filled with given field
          :rtype: nodes.field_list
  
          """
          properties_list = nodes.field_list()
  
          # changing the order of elements in this list affects
          # the order in which they are displayed
          property_names = ['label', 'type', 'description', 'required',
                            'disabled', 'hidden', 'default', 'placeholder',
                            'validate_regex', 'choices', 'collapse', 'group']
  
          for name in property_names:
              if name not in field:
                  continue
  
              value = field[name]
  
              # Value should be formatted in code-style (=literal) mode
              if name in ['type', 'default', 'placeholder', 'validate_regex']:
                  literal_node = nodes.literal(str(value), str(value))
                  properties_list += self.make_field(name, literal_node)
  
              # Special formating of ``value`` is needed if name == 'choices'
              elif name == 'choices':
                  bullet_list = nodes.bullet_list()
                  for choice in value:
                      label = nodes.Text(choice['label'] + ': ')
                      val = nodes.literal(choice['value'], choice['value'])
  
                      paragraph = nodes.paragraph()
                      paragraph += label
                      paragraph += val
                      list_item = nodes.list_item()
                      list_item += paragraph
                      bullet_list += list_item
  
                  properties_list += self.make_field(name, bullet_list)
  
              else:
                  properties_list += self.make_field(name, str(value))
  
          return properties_list