docs: def materialize(self):
          """Returns instance of ``TrackedModel`` created from
          current ``History`` snapshot.
          To rollback to current snapshot, simply call ``save``
          on materialized object.
          """
          if self.action_type == ActionType.DELETE:
              # On deletion current state is dumped to change_log
              # so it's enough to just restore it to object
              data = serializer.from_json(self.change_log)
              obj = serializer.restore_model(self._tracked_model, data)
              return obj
  
          changes = History.objects.filter(
              model_name=self.model_name, app_label=self.app_label,
              table_id=self.table_id)
          changes = changes.filter(revision_ts__lte=self.revision_ts)
          changes = list(changes.order_by('revision_ts'))
  
          creation = changes.pop(0)
          data = serializer.from_json(creation.change_log)
          obj = serializer.restore_model(self._tracked_model, data)
  
          for change in changes:
              change_log = serializer.from_json(change.change_log)
              for field in change_log:
                  next_val = change_log[field][Field.NEW]
                  setattr(obj, field, next_val)
  
          return obj