docs: public void rollback(Xid xid) throws XAException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "rollback", "XID="+xid);
  
          try
          {
              // Rollback the MessageStore Transaction to
              // ensure our in-memory model is in-line
              // with the persistent store.
              _manager.rollback(new PersistentTranId(xid));
  
           
          }
          catch (XidUnknownException xue)
          {
              com.ibm.ws.ffdc.FFDCFilter.processException(xue, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:640:1.51.1.7", this);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Cannot rollback transaction branch, Xid is unknown!", xue);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
              XAException xaException = new XAException(XAException.XAER_NOTA);
              xaException.initCause(xue);
              throw xaException;
          }
          catch (XidStillAssociatedException xsae)
          {
              com.ibm.ws.ffdc.FFDCFilter.processException(xsae, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:649:1.51.1.7", this);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Cannot rollback transaction branch, resources are still associated with this Xid!", xsae);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
              XAException xaException = new XAException(XAException.XAER_PROTO);
              xaException.initCause(xsae);
              throw xaException;
          }
          catch (ProtocolException tpe)
          {
              com.ibm.ws.ffdc.FFDCFilter.processException(tpe, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:658:1.51.1.7", this);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "A Transaction protocol error occurred during rollback of transaction branch!", tpe);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
              XAException xaException = new XAException(XAException.XAER_PROTO);
              xaException.initCause(tpe);
              throw xaException;
          }
          catch (TransactionException te)
          {
              com.ibm.ws.ffdc.FFDCFilter.processException(te, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:667:1.51.1.7", this);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Unexpected error occurred during rollback of transaction branch!", te);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
              XAException xaException = new XAException(XAException.XAER_RMFAIL);
              xaException.initCause(te);
              throw xaException;
          }
          catch (PersistenceException pe)
          {
              com.ibm.ws.ffdc.FFDCFilter.processException(pe, "com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.rollback", "1:676:1.51.1.7", this);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled()) SibTr.event(this, tc, "Unexpected error occurred whilst persisting transaction work!", pe);
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
              XAException xaException = new XAException(XAException.XAER_RMFAIL); // PK53360
              xaException.initCause(pe);
              throw xaException;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "rollback");
      }