docs: @Override
     public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, SystemException {
        if (trace) {
           log.tracef("Transaction.commit() invoked in transaction with Xid=%s", xid);
        }
        if (isDone()) {
           throw new IllegalStateException("Transaction is done. Cannot commit transaction.");
        }
        runPrepare();
        runCommit(false);
     }