if (backupClone != null) {
// If new just re-build the backup clone, otherwise use MergeManager (should be a special merge though, not the default constructor like it is...)
if (objectChangeSet.isNew()) {
uow.getCloneMapping().put(clone, descriptor.getObjectBuilder().buildBackupClone(clone, uow));
} else {
MergeManager mergeManager = new MergeManager(uow);
mergeManager.setCascadePolicy(MergeManager.NO_CASCADE);
descriptor.getObjectBuilder().mergeChangesIntoObject(backupClone, objectChangeSet, clone, mergeManager, mergeManager.getSession());
}
}
clearChanges(clone, uow, descriptor, false);
}