Seleção de coleção com base em dois parâmetros simultaneamente

Tenho uma classe com dois campos de data, digamos:

class TestData {
    Date activation;
    Date timeStamp;
}

Quero ordenar a lista da classe acima com base emactivation date e, se forem iguais, com base emtimestamp ou seja, max (ativação) e max (timeStamp

Código que eu tentei é como segue que apenas buscar max (ativação)

public class CollectionSort {

    public static void main(String[] args) {
        List<TestData> testList = new ArrayList<TestData>();

        Collections.sort(testList, new Comparator<TestData>() {

            @Override
            public int compare(TestData t1, TestData t2) {
                int result = 0;
                if (t1.getActivation().before(t2.getActivation())) {
                        result = 1;
                }
                return result;
            }
        });
        System.out.println("First object is " + testList.get(0));
    }
}

Qualquer ajuda seria muito apreciada

Obrigad

questionAnswers(2)

yourAnswerToTheQuestion