docs: public ResponseFromManager generateUpdateExecuteTask(ParallelTask task) {
  
          // add to map now; as can only pass final
          ParallelTaskManager.getInstance().addTaskToInProgressMap(
                  task.getTaskId(), task);
          logger.info("Added task {} to the running inprogress map...",
                  task.getTaskId());
  
          boolean useReplacementVarMap = false;
          boolean useReplacementVarMapNodeSpecific = false;
          Map<String, StrStrMap> replacementVarMapNodeSpecific = null;
          Map<String, String> replacementVarMap = null;
  
          ResponseFromManager batchResponseFromManager = null;
  
          switch (task.getRequestReplacementType()) {
          case UNIFORM_VAR_REPLACEMENT:
              useReplacementVarMap = true;
              useReplacementVarMapNodeSpecific = false;
              replacementVarMap = task.getReplacementVarMap();
              break;
          case TARGET_HOST_SPECIFIC_VAR_REPLACEMENT:
              useReplacementVarMap = false;
              useReplacementVarMapNodeSpecific = true;
              replacementVarMapNodeSpecific = task
                      .getReplacementVarMapNodeSpecific();
              break;
          case NO_REPLACEMENT:
              useReplacementVarMap = false;
              useReplacementVarMapNodeSpecific = false;
              break;
          default:
              logger.error("error request replacement type. default as no replacement");
          }// end switch
  
          // generate content in nodedata
          InternalDataProvider dp = InternalDataProvider.getInstance();
          dp.genNodeDataMap(task);
  
          VarReplacementProvider.getInstance()
                  .updateRequestWithReplacement(task, useReplacementVarMap,
                          replacementVarMap, useReplacementVarMapNodeSpecific,
                          replacementVarMapNodeSpecific);
  
          batchResponseFromManager = 
                  sendTaskToExecutionManager(task);
  
          removeTaskFromInProgressMap(task.getTaskId());
          logger.info(
                  "Removed task {} from the running inprogress map... "
                          + ". This task should be garbage collected if there are no other pointers.",
                  task.getTaskId());
          return batchResponseFromManager;
  
      }