def METHOD_NAME(self, force=False, save=True):
    existing = self.versions
    this_version = self.as_dict()
    changed = False
    if existing:
        latest = existing[0]
        if force or not self.versions_equal(latest, this_version):
            changed = True
            existing.insert(0, this_version)
    else:
        changed = True
        existing.insert(0, this_version)
    self.versions = existing
    if save:
        self.save()
    return (existing, changed)