code: public void resume(UOWHandle handle) throws CSIException {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "resume : " + handle);
  
          //A null handle indicates that during the execution of the corresponding suspend,
          //there wasn't a Tx to suspend, so do nothing.
          if (handle != null) {
              //Cast the handle to a UOWHandleImpl in order to get the instance
              //variables from it.
              UOWHandleImpl handleImpl = (UOWHandleImpl) handle;
  
              try {
                  //From the handle we can determine if it is a local tx.  If so resume the local
                  // tx, otherwise we have a global tx.
                  if (handleImpl.suspendedLocalTx != null) {
                      //Get the LocalTransactionCoordinator from the handle, and resume the local
                      //Tx associated with it.
                      resumeLocalTx(handleImpl.suspendedLocalTx);
                  }
                  else {
                      //Get the suspended global tx from the handle, and resume the global
                      //tx associated with it.
                      resumeGlobalTx(handleImpl.suspendedGlobalTx, TIMEOUT_CLOCK_START);
                  }
              } catch (Throwable t) {
                  FFDCFilter.processException(t, CLASS_NAME + ".resume", "1491", this);
                  if (isTraceOn && tc.isEntryEnabled())
                      Tr.exit(tc, "resume", "Error resuming tx in TransactionControlImpl: " + t);
                  throw new CSIException("Error resuming tx in TransactionControlImpl.", t);
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "resume");
      }
docs: PK15508: Added entire method