javax.jcr.RepositoryException: Cannot transiently remove an ItemState with status EXISTING_REMOVED
        at org.apache.jackrabbit.jcr2spi.hierarchy.HierarchyEntryImpl.transientRemove(HierarchyEntryImpl.java:414)
        at org.apache.jackrabbit.jcr2spi.hierarchy.PropertyEntryImpl.transientRemove(PropertyEntryImpl.java:35)
        at org.apache.jackrabbit.jcr2spi.hierarchy.NodeEntryImpl.transientRemove(NodeEntryImpl.java:220)
        at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.removeItemState(SessionItemStateManager.java:489)
        at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.visit(SessionItemStateManager.java:302)
        at org.apache.jackrabbit.jcr2spi.operation.Remove.accept(Remove.java:67)
        at org.apache.jackrabbit.jcr2spi.state.SessionItemStateManager.execute(SessionItemStateManager.java:215)
        at org.apache.jackrabbit.jcr2spi.ItemImpl.remove(ItemImpl.java:307)


HierarchyEntryImpl.transientRemove() sets the ItemState status to EXISTING_REMOVED. If the ItemState status is already in EXISTING_REMOVED, can a no-operation safely occur?

I propose adding the following case to the switch statement in HierarchyEntryImpl.transientRemove()

case Status.EXISTING_REMOVED: break;