docs: def from_event(cls, ion_event):
          """Constructs the given native extension from the properties of an event.
  
          Args:
              ion_event (IonEvent): The event to construct the native value from.
          """
          if ion_event.value is not None:
              args, kwargs = cls._to_constructor_args(ion_event.value)
          else:
              # if value is None (i.e. this is a container event), args must be empty or initialization of the
              # underlying container will fail.
              args, kwargs = (), {}
          value = cls(*args, **kwargs)
          value.ion_event = ion_event
          value.ion_type = ion_event.ion_type
          value.ion_annotations = ion_event.annotations
          return value