docs: @SuppressWarnings("deprecation")
    public void pushContextData() {
      if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINEST)) { 
        logger.entering(CLASS_NAME,"pushContextData",this);
      }
  
      // will want to run on the calling thread's class loader
      this.newCL = AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
          @Override
          public ClassLoader run() {
              ClassLoader old = Thread.currentThread().getContextClassLoader();
              return old;
          }
      });
  
      if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINEST)) {
          logger.logp(Level.FINEST, CLASS_NAME, "pushContextData", "thread context class loader [" + this.newCL +"]");
        }
      
      this.contextData = new HashMap();
      
      // push data for other components that we already have hooks into
      ComponentMetaDataAccessorImpl cmdai = ComponentMetaDataAccessorImpl.getComponentMetaDataAccessor();
      ComponentMetaData cmd = cmdai.getComponentMetaData();
      if (cmd != null) {
        this.contextData.put(ComponentMetaData, cmd);
      }  
      
      // each producer service of the Transfer service is accessed in order to get the thread context data
      Iterator<ITransferContextService> TransferIterator = com.ibm.ws.webcontainer.osgi.WebContainer.getITransferContextServices();
      if (TransferIterator != null) { 
        while(TransferIterator.hasNext()){
          ITransferContextService tcs = TransferIterator.next();
          if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINEST)) {
            logger.logp(Level.FINEST, CLASS_NAME, "pushContextData", "calling storeState on: " + tcs);
          }
          tcs.storeState(this.contextData);
          asyncContext.storeStateCtxData = this.contextData;
        }
      } else {
        if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled() && logger.isLoggable(Level.FINEST)) {
          logger.logp(Level.FINEST, CLASS_NAME, "pushContextData", "no implmenting services found");
        }
      }
      
      if (com.ibm.ejs.ras.TraceComponent.isAnyTracingEnabled()&&logger.isLoggable (Level.FINEST)) { 
        logger.exiting(CLASS_NAME,"pushContextData",this);
      }
    }