code: protected ProcResourceValues sortReduceParts() {
      long sortStartMilli = System.currentTimeMillis();
      ProcResourceValues sortStartProcVals =
          task.getCurrentProcResourceValues();
      long sortStart = task.jmxThreadInfoTracker.getTaskCPUTime("MAIN_TASK");
      // sort
      for (int i = 0; i < reducePartitions.length; i++) {
        reducePartitions[i].groupOrSort();
      }
      long sortEndMilli = System.currentTimeMillis();
      ProcResourceValues sortEndProcVals =
          task.getCurrentProcResourceValues();
      long sortEnd = task.jmxThreadInfoTracker.getTaskCPUTime("MAIN_TASK");
      mapSpillSortCounter.incCountersPerSort(sortStartProcVals,
          sortEndProcVals, sortEndMilli - sortStartMilli);
      mapSpillSortCounter.incJVMCPUPerSort(sortStart, sortEnd);
      return sortEndProcVals;
    }
docs: /*
  return the value of ProcResourceValues for later use