HeapSort.sort( anArray, new BySalaryAndHireDateCompare());
...
class BySalaryAndHireDateCompare implements Compare<Employee> {
   /**
   * return positive number if a > b, 0 if a = b, negative number if a < b
   */
   int compare (Employee a , Employee b)
      {
      // compare descending salary, ascending hireDate
      if ( a.salary > b.salary ) return -1;
      if ( a.salary < b.salary ) return +1;
      return a.hireDate - b.hireDate;
      } // end method compare
     } // end class BySalaryAndHireDateCompare