protected void checkReferenceable ( ImportNodeData currentNodeInfo , String olUuid ) throws RepositoryException { // if node is in version storage - do not assign new id from jcr:uuid // property if ( Constants . JCR_VERSION_STORAGE_PATH . getDepth ( ) + 3 <= currentNodeInfo . getQPath ( ) . getDepth ( ) && currentNodeInfo . getQPath ( ) . getEntries ( ) [ Constants . JCR_VERSION_STORAGE_PATH . getDepth ( ) + 3 ] . equals ( Constants . JCR_FROZENNODE ) && currentNodeInfo . getQPath ( ) . isDescendantOf ( Constants . JCR_VERSION_STORAGE_PATH ) ) { return ; } String identifier = validateUuidCollision ( olUuid ) ; if ( identifier != null ) { reloadChangesInfoAfterUC ( currentNodeInfo , identifier ) ; } else { currentNodeInfo . setIsNewIdentifer ( true ) ; } if ( uuidBehavior == ImportUUIDBehavior . IMPORT_UUID_COLLISION_REPLACE_EXISTING ) { NodeData parentNode = getParent ( ) ; currentNodeInfo . setParentIdentifer ( parentNode . getIdentifier ( ) ) ; if ( parentNode instanceof ImportNodeData && ( ( ImportNodeData ) parentNode ) . isTemporary ( ) ) { // remove the temporary parent tree . pop ( ) ; } } }
Check uuid collision . If collision happen reload path information .