Clasificación de la colección en base a dos parámetros simultáneamente

Tengo una clase con dos campos de fecha que dicen:

class TestData {
    Date activation;
    Date timeStamp;
}

Quiero ordenar la lista de la clase anterior en función deactivation fecha y si son iguales entonces en base atimestamp es decir, max (activación) y max (timeStamp).

El código que probé es el siguiente, que solo obtiene max (activación)

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));
    }
}

Cualquier ayuda sería muy apreciada.

Gracia

Respuestas a la pregunta(2)

Su respuesta a la pregunta