<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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