code: def construct_item_args(self, domain_event):
          
          # Get the sequence ID.
          sequence_id = domain_event.__dict__[self.sequence_id_attr_name]
  
          # Get the position in the sequence.
          position = getattr(domain_event, self.position_attr_name, None)
  
          # Get topic and data.
          topic, state = self.get_item_topic_and_state(
              domain_event.__class__,
              domain_event.__dict__
          )
  
          # Get the 'other' args.
          # - these are meant to be derivative of the other attributes,
          #   to populate database fields, and shouldn't affect the hash.
          other_args = tuple((getattr(domain_event, name) for name in self.other_attr_names))
  
          return (sequence_id, position, topic, state) + other_args
docs: Constructs attributes of a sequenced item from the given domain event.