code: @Override
    public int compareTo(ID o) {
      TaskID that = (TaskID)o;
      int jobComp = this.jobId.compareTo(that.jobId);
      if(jobComp == 0) {
        if(this.isMap == that.isMap) {
          return this.id - that.id;
        }
        else return this.isMap ? -1 : 1;
      }
      else return jobComp;
    }
docs: Compare TaskInProgressIds by first jobIds, then by tip numbers. Reduces are
  defined as greater then maps.