if (session.getTransientNodesManager().hasPendingChanges(getInternalPath()))
throw new InvalidItemStateException("Node has pending changes " + getPath());
if (hasProperty(Constants.JCR_MERGEFAILED))
throw new VersionException("Node has jcr:mergeFailed " + getPath());
if (!parent().checkLocking())
throw new LockException("Node " + parent().getPath() + " is locked ");
// the new version identifier