docs: def revert(self, revision_id):
          """Revert the record to a specific revision.
  
          #. Send a signal :data:`invenio_records.signals.before_record_revert`
             with the current record as parameter.
  
          #. Revert the record to the revision id passed as parameter.
  
          #. Send a signal :data:`invenio_records.signals.after_record_revert`
             with the reverted record as parameter.
  
          :param revision_id: Specify the record revision id
          :returns: The :class:`Record` instance corresponding to the revision id
          """
          if self.model is None:
              raise MissingModelError()
  
          revision = self.revisions[revision_id]
  
          with db.session.begin_nested():
              before_record_revert.send(
                  current_app._get_current_object(),
                  record=self
              )
  
              self.model.json = dict(revision)
  
              db.session.merge(self.model)
  
          after_record_revert.send(
              current_app._get_current_object(),
              record=self
          )
          return self.__class__(self.model.json, model=self.model)