docs: @Override
      public void contextChange(int typeOfChange, UOWScope scope) throws IllegalStateException {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "contextChange", new Object[] { typeOfChange, scope, this });
  
          try {
              // Determine the Tx change type and process.  Ensure we do what
              // we need to do as close to the context switch as possible
              switch (typeOfChange) {
                  case PRE_BEGIN:
                      uowPreBegin();
                      break;
                  case POST_BEGIN:
                      uowPostBegin(scope);
                      break;
                  case PRE_END:
                      uowPreEnd(scope);
                      break;
                  case POST_END:
                      uowPostEnd();
                      break;
                  default:
                      if (tc.isDebugEnabled())
                          Tr.debug(tc, "Unknown typeOfChange: " + typeOfChange);
              }
          } catch (IllegalStateException ise) {
              if (tc.isEntryEnabled())
                  Tr.exit(tc, "contextChange", ise);
              throw ise;
          }
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "contextChange");
      }