code: @Override
      public void unimportTransaction(String globalId) throws SystemException {
  
          DistributableTransaction tx = _threadImportedTran.get();
  
          // In the case of the in-process http channel, where no WS-AT
          // context is being propagated, we get the situation where there is a global tran
          // on the thread at this point but it is not imported
          if (tx != null) {
              if (!globalId.equals(tx.getGlobalId())) {
                  // ???
                  final SystemException e = new SystemException();
                  throw e;
              }
  
              final Transaction suspendedTx = _tm.suspend();
              // If zOS and isSupportWSAT=false then there is no tx to suspend
              if ((suspendedTx != null) && (!tx.equals(suspendedTx))) {
                  // Something is badly wrong
                  final SystemException e = new SystemException();
                  throw e;
              }
          }
  
          _threadImportedTran.set(null);
  
          // d238113 - check for null although with defect 235471.2 we should not get this problem
          if (tx != null) {
              tx.removeAssociation();
          }
  
          final UOWCoordinator suspendedUOW = _threadUOWCoord.get();
          // ? Should null be forced back ? - shouldn't happen anyway, LTC must have been on the thread
          if (suspendedUOW != null && !suspendedUOW.isGlobal()) {
              LocalTranCurrentSet.instance().resume((LocalTransactionCoordinator) suspendedUOW);
          }
  
          _threadUOWCoord.set(null);
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.tx.remote.RemoteTransactionController#unimportTransaction(java.lang.String)