docs: public void finishEnvSetup(boolean transactional) throws Exception {
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINE)) {
              logger.logp(Level.FINE, CLASS_NAME, "finishEnvSetup", "enter");
          }
          // unset the classloader
          UnsynchronizedStack envObjectStack = (UnsynchronizedStack) envObject.get();
          EnvObject env = null;
          if (envObjectStack != null) {
              env = (EnvObject) envObjectStack.pop();
              final ClassLoader origLoader = env.origClassLoader;
              if (origLoader != null) {
                  ThreadContextHelper.setClassLoader(origLoader);
              }
              if (envObjectStack.isEmpty()) {
                  envObject.remove();
              }
          }
  
          // namespace postinvoke
          webAppNameSpaceCollab.postInvoke();
  
          if (transactional && env != null)
              txCollab.postInvoke(null, env.txConfig, this.isServlet23);
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINE)) {
              logger.logp(Level.FINE, CLASS_NAME, "finishEnvSetup", "exit");
          }
      }