code: public synchronized ArrayList<MapTaskStatistics> 
            getMapTaskList(Enum mapTaskSortKey, KeyDataType dataType) {
      
      /* 
       * If mapTaskSortKey is null then use the task id as a key.
       */
      if (mapTaskSortKey == null) {
        mapTaskSortKey = MapTaskKeys.TASK_ID;
      }
      
      if (this._sortedMapTaskListsByKey.get(mapTaskSortKey) == null) {
        ArrayList<MapTaskStatistics> newList = (ArrayList<MapTaskStatistics>)this._mapTaskList.clone();
        this._sortedMapTaskListsByKey.put(mapTaskSortKey, this.sortMapTasksByKey(newList, mapTaskSortKey, dataType));
      } 
      return this._sortedMapTaskListsByKey.get(mapTaskSortKey);
    }
docs: /*
  @return mapTaskList : ArrayList of MapTaskStatistics
  @param mapTaskSortKey : Specific counter key used for sorting the task list
  @param datatype : indicates the data type of the counter key used for sorting
  If sort key is null then by default map tasks are sorted using map task ids.