Classificando um XML em Java

Olá Eu tenho um XML semelhante ao abaixo, que precisava ser classificado usando o campo de data.

<root> 
    <Node1>
        <date></date> 
    </Node1> 
    <Node1> 
        <date></date> 
    </Node1> 
    <Node1> 
        <date></date> 
    </Node1> 
    <Node1> 
        <date></date> 
    </Node1> 
    <Node2> 
        <date></date> 
    </Node2> 
    <Node2> 
        <date></date> 
    </Node2> 
    <Node2> 
        <date></date> 
    </Node2> 
    <Node2> 
        <date></date> 
    </Node2> 
</root>

Gostaria de classificar o XML com base na data (por exemplo, ordem asc), independentemente de a data estar em Nó1 ou Nó2. Na verdade, no código Java, tenho duas listas separadas, uma com objetos Node1 e outra com objetos Node2. Eu posso classificar a lista em qualquer ordem de maneira sutil dentro do java. Mas eu preciso ter as datas classificadas independentemente dos nós que estão funcionando no XML.Qual é a melhor abordagem para classificar dessa maneira em Java?

Estou usando o Castor para organizar os objetos java em XML. Se você sabe que isso pode ser feito com o Castor, isso será ótimo!