'This is a naive way of inheriting, assuming that ``predecessor`` is in
fact the predecessor and there hasn\'t been any intermediate changes!
:param: predecessor is an instance of whatever object for which
object.current_revision implements BaseRevisionMixin.'

def inherit_predecessor(self, predecessor):

    predecessor = predecessor.current_revision
    self.previous_revision = predecessor
    self.deleted = predecessor.deleted
    self.locked = predecessor.locked
    self.deleted = predecessor.deleted
    self.locked = predecessor.locked
    self.revision_number = (predecessor.revision_number + 1)
