code: public synchronized void abortTransaction() throws TransactionNotInProgressException
      {
          if(isInTransaction())
          {
              fireBrokerEvent(BEFORE_ROLLBACK_EVENT);
              setInTransaction(false);
              clearRegistrationLists();
              referencesBroker.removePrefetchingListeners();
              /*
              arminw:
              check if we in local tx, before do local rollback
              Necessary, because ConnectionManager may do a rollback by itself
              or in managed environments the used connection is already be closed
              */
              if(connectionManager.isInLocalTransaction()) this.connectionManager.localRollback();
              fireBrokerEvent(AFTER_ROLLBACK_EVENT);
          }
      }
docs: Abort and close the transaction.
  Calling abort abandons all persistent object modifications and releases the
  associated locks.
  If transaction is not in progress a TransactionNotInProgressException is thrown