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