code: def to_list(self, *attributes, **options):
          
  
          # Name of the Container
          name = options.pop('name', self.__class__.__name__)
  
          fields = list()
          if attributes:
              field_getter = attrgetter(*attributes)
          else:
              field_getter = attrgetter('value')
          for item in self.field_items(**options):
              field_path, field = item
              if field_path.startswith('['):
                  # Sequence
                  field_path = '{0}{1}'.format(name, field_path)
              else:
                  field_path = '{0}.{1}'.format(name, field_path)
              if options.get('chain', False) and len(attributes) > 1:
                  fields.append((field_path, *field_getter(field)))
              else:
                  fields.append((field_path, field_getter(field)))
          return fields
docs: Returns a **flatten** list of ``('field path', attribute)`` or
          ``('field path', tuple(attributes))`` tuples for each :class:`Field`
          *nested* in the `Container`.
  
          :param str attributes: selected :class:`Field` attributes.
              Fallback is the field :attr:`~Field.value`.
          :keyword str name: name of the `Container`.
              Default is the class name of the instance.
          :keyword bool chain: if ``True`` the field *attributes* are chained to its
              field path. Defaults to ``False``.
          :keyword bool nested: if ``True`` all :class:`Pointer` fields in the
              `Container` lists their referenced :attr:`~Pointer.data` object
              field attributes as well (chained method call).