docs: static Process execProcess(final ExecutionListener logger, final File workingdir, final String scriptargs,
                                 final Map<String, Map<String, String>> envContext,
                                 final Map<String, Map<String, String>> newDataContext,
                                 final String logName) throws IOException {
          //use script-exec attribute and replace datareferences
          final String[] args = DataContextUtils.replaceDataReferencesInArray(scriptargs.split(" "), newDataContext);
  
          //create system environment variables from the data context
          final Map<String, String> envMap = DataContextUtils.generateEnvVarsFromContext(envContext);
          final ArrayList<String> envlist = new ArrayList<String>();
          for (final String key : envMap.keySet()) {
              final String envval = envMap.get(key);
              envlist.add(key + "=" + envval);
          }
          final String[] envarr = envlist.toArray(new String[envlist.size()]);
  
  
          logger.log(3, "[" + logName + "] executing: " + StringArrayUtil.asString(args, " "));
          final Runtime runtime = Runtime.getRuntime();
          return runtime.exec(args, envarr, workingdir);
      }