code: @Override
      public final void forget() throws XAException
      {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "forget", new Object[] { _resource, _xid });
          if (tcSummary.isDebugEnabled())
              Tr.debug(tcSummary, "xa_forget", this);
  
          int rc = -1; // not an XA RC
          try
          {
              if (!_completed && _resource != null)
              {
                  if (_state == FAILED)
                      _resource = reconnectRM(); // D419307A
  
                  _resource.forget(_xid);
                  rc = XAResource.XA_OK;
                  destroy();
              }
          } catch (XAException xae)
          {
              rc = xae.errorCode;
              throw xae;
          } finally
          {
              if (tc.isEntryEnabled())
                  Tr.exit(tc, "forget");
              if (tcSummary.isDebugEnabled())
                  Tr.debug(tcSummary, "xa_rollback result: " +
                                      XAReturnCodeHelper.convertXACode(rc));
          }
      }
docs: The resource manager can forget all knowledge of the transaction.
  
  @exception XAException