docs: @Override
      public boolean importTransaction(String globalId, int expires) throws SystemException {
  
          //The first thing we need to do is distinguish between local and remote invocations. If the UOW currently associated
          //with the thread is a global txn then we know the invocation must be local. The other case is where the remote servers
          //web container has begun a local txn in the absence of the global context. We do know that there was a global txn on 
          //invocation else there wouldn't even be a cc available.
          final UOWCoordinator uowCoord = _uowc.getUOWCoord();
          _threadUOWCoord.set(uowCoord);
  
          if (uowCoord != null && uowCoord.isGlobal()) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "The Web Service request is a local invocation");
  
              ((DistributableTransaction) uowCoord).resumeAssociation();
              return false;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(tc, "The Web Service request is a remote invocation");
  
          try {
              TMHelper.checkTMState();
          } catch (NotSupportedException e) {
              final SystemException se = new SystemException();
              se.initCause(e);
              throw se;
          }
  
          //The web container will start a local tran as there will not be a global context
          //on thread. We need to suspend this before attaching the global tran
          final LocalTransactionCoordinator ltc = LocalTranCurrentSet.instance().suspend();
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(tc, "Suspended LTC", ltc);
  
          boolean createdNewTransaction = false;
  
          DistributableTransaction tx = getTransactionForID(globalId);
  
          if (tx == null) {
              tx = new EmbeddableTransactionImpl(expires, globalId);
              createdNewTransaction = true;
  
              new TransactionWrapper((EmbeddableTransactionImpl) tx);
          }
  
          _threadImportedTran.set(tx);
  
          // Add association to police single thread per tran
          tx.addAssociation();
  
          // Resume transaction on this thread
          try {
              _tm.resume((Transaction) tx);
          } catch (Exception e) {
              SystemException se = new SystemException();
              se.initCause(e);
              throw se;
          }
  
          return createdNewTransaction;
      }