'Insert a new version of the object to be the object.
If the object is different than what is currently thought to be the
latest version of the object, this will add an additional
``_GenerationRecord`` to the queue (and drop one if the queue is full).'

def insert_latest(self, latest):

    if (latest == self._latest_object):
        return
    latest_hash = make_generation_hash(latest)
    if ((self._latest_object is not None) and (latest_hash != self._latest_hash)):
        new_diff = create_diff(self._latest_object, latest)
        self._queue.append(_GenerationRecord(generation_hash=self._latest_hash, diff_to_next=new_diff))
    self._latest_object = latest
    self._latest_hash = latest_hash
