@Override
  public boolean enlistResource(XAResource xaRes)
      throws RollbackException, IllegalStateException, SystemException {
    gtx = tm.getGlobalTransaction();
    if (gtx == null) {
      String exception =
          "TransactionImpl::enlistResource: No global transaction exists";
      LogWriter writer = TransactionUtils.getLogWriter();
      if (writer.fineEnabled()) {
        writer.fine(exception);
      }
      throw new SystemException(exception);
    }
    return gtx.enlistResource(xaRes);
  }
Enlist the XAResource specified to the Global Transaction associated with this transaction.

@param xaRes XAResource to be enlisted
@return true, if resource was enlisted successfully, otherwise false.
@throws SystemException Thrown if the transaction manager encounters an unexpected error
        condition.
@throws IllegalStateException Thrown if the transaction in the target object is in the prepared
        state or the transaction is inactive.
@throws RollbackException Thrown to indicate that the transaction has been marked for rollback
        only.

@see javax.transaction.Transaction#enlistResource(javax.transaction.xa.XAResource)
geode-core/src/main/java/org/apache/geode/internal/jta/TransactionImpl.java