sanityCheck();
int options = ItemValidator.CHECK_PENDING_CHANGES | ItemValidator.CHECK_LOCK | ItemValidator.CHECK_HOLD;
session.getValidator().checkModify(this, options, Permission.NONE);
Version v = getVersionHistory().getVersion(versionName);
DateVersionSelector gvs = new DateVersionSelector(v.getCreated());
internalRestore(v, gvs, removeExisting);
// session.save/revert is done in internal restore
}