docs: public void forget(Xid xid) throws XAException {
  
          /**
           * Should this method not attempt to clean up the aborted
           * transaction by rolling back or something?  Maybe the
           * tx manager will already have called rollback() if
           * it were necessasry?
           */
          validateXid(xid);
  
          if (state != XA_STATE_PREPARED) {
              throw new XAException(
                  "Attempted to forget a XAResource that "
                  + "is not in a heuristically completed state");
          }
  
          dispose();
  
          state = XA_STATE_INITIAL;
      }