Index: jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemManager.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemManager.java	(revision 1506854)
+++ jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemManager.java	(revision )
@@ -63,24 +63,27 @@
      *
      * @param path path to the node to be checked
      * @return true if the specified item exists
+     * @throws RepositoryException
      */
-    public boolean nodeExists(Path path);
+    public boolean nodeExists(Path path) throws RepositoryException;
 
     /**
      * Checks if the property with the given path exists.
      *
      * @param path path to the property to be checked
      * @return true if the specified item exists
+     * @throws RepositoryException
      */
-    public boolean propertyExists(Path path);
+    public boolean propertyExists(Path path) throws RepositoryException;
 
     /**
      * Checks if the item for given HierarchyEntry exists.
      *
      * @param hierarchyEntry
      * @return true if the specified item exists
+      @throws RepositoryException
      */
-    public boolean itemExists(HierarchyEntry hierarchyEntry);
+    public boolean itemExists(HierarchyEntry hierarchyEntry) throws RepositoryException;
 
     /**
      *
Index: jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/LazyItemIterator.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/LazyItemIterator.java	(revision 1506854)
+++ jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/LazyItemIterator.java	(revision )
@@ -219,9 +219,17 @@
             pos++;
             HierarchyEntry entry = iter.next();
             // check if item exists but don't build Item instance.
-            while (!itemMgr.itemExists(entry)) {
-                log.debug("Ignoring nonexistent item " + entry);
+            boolean itemDoesNotExist = true;
+            while(itemDoesNotExist){
+                try{
+                    itemDoesNotExist = itemMgr.itemExists(entry);
+                }catch(RepositoryException e){
+                    log.warn("Failed to check that item {} exists",entry,e);
+                }
+                if(itemDoesNotExist){
+                    log.debug("Ignoring nonexistent item {}", entry);
-                entry = iter.next();
+                    entry = iter.next();
+                }
             }
         }
         // fetch final item (the one to be returned on next())
Index: jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemManagerImpl.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemManagerImpl.java	(revision 1506854)
+++ jackrabbit-jcr2spi/src/main/java/org/apache/jackrabbit/jcr2spi/ItemManagerImpl.java	(revision )
@@ -102,7 +102,7 @@
     /**
      * @see ItemManager#nodeExists(Path)
      */
-    public boolean nodeExists(Path path) {
+    public boolean nodeExists(Path path) throws RepositoryException {
         try {
             // session-sanity & permissions are checked upon itemExists(ItemState)
             NodeState nodeState = hierMgr.getNodeState(path);
@@ -111,15 +111,13 @@
             return false;
         } catch (ItemNotFoundException infe) {
             return false;
-        } catch (RepositoryException re) {
-            return false;
         }
     }
 
     /**
      * @see ItemManager#propertyExists(Path)
      */
-    public boolean propertyExists(Path path) {
+    public boolean propertyExists(Path path) throws RepositoryException {
         try {
             // session-sanity & permissions are checked upon itemExists(ItemState)
             PropertyState propState = hierMgr.getPropertyState(path);
@@ -128,22 +126,18 @@
             return false;
         } catch (ItemNotFoundException infe) {
             return false;
-        } catch (RepositoryException re) {
-            return false;
         }
     }
 
     /**
      * @see ItemManager#itemExists(HierarchyEntry)
      */
-    public boolean itemExists(HierarchyEntry hierarchyEntry) {
+    public boolean itemExists(HierarchyEntry hierarchyEntry) throws RepositoryException {
         try {
             // session-sanity & permissions are checked upon itemExists(ItemState)
             ItemState state = hierarchyEntry.getItemState();
             return itemExists(state);
         } catch (ItemNotFoundException e) {
-            return false;
-        } catch (RepositoryException e) {
             return false;
         }
     }
