class DefaultCompensatingTransactionOperationManager implements
        CompensatingTransactionOperationManager {

    public void rollback() {
        log.debug("Performing rollback");
        while (!operationExecutors.isEmpty()) {
            CompensatingTransactionOperationExecutor rollbackOperation = operationExecutors.pop();
            try {
                rollbackOperation.rollback();
            } catch (Exception e) {
                throw new TransactionSystemException(
                        "Error occurred during rollback", e);
            }
        }
    }

    public  DefaultCompensatingTransactionOperationManager(
            CompensatingTransactionOperationFactory operationFactory);

}