void unregisterNewNode(JCRNodeWrapper node) {
   if (!newNodes.isEmpty()) {
     newNodes.remove(node.getPath());
     try {
       if (node.hasNodes()) {
         NodeIterator it = node.getNodes();
         while (it.hasNext()) {
           unregisterNewNode((JCRNodeWrapper) it.next());
         }
       }
     } catch (RepositoryException e) {
       logger.warn("Error unregistering new nodes", e);
     }
   }
 }
 void removeFromCache(JCRItemWrapper item) throws RepositoryException {
   sessionCacheByPath.remove(item.getPath());
   if (item instanceof JCRNodeWrapper) {
     sessionCacheByIdentifier.remove(((JCRNodeWrapper) item).getIdentifier());
   }
 }