public void rollback() throws SimpleXAResourceException { if (logger.isDebugEnabled()) { logger.debug("Rollback phase on StringPoolSession " + System.identityHashCode(this)); } if (state == RELEASE) { throw new SimpleXAResourceException("Attempting to rollback phase outside transaction"); } state = ROLLBACK; persistentStringPool.rollback(); persistentNodePool.rollback(); for (int i = 0; i < resources.length; i++) { resources[i].rollback(); } }