Unmarshal XML em matrizes

Eu quero unmarhal arquivo XML em matriz de elementos.

Exemplo:

<root>
   <animal>
      <name>barack</name>
   </animal>
   <animal>
      <name>mitt</name>
   </animal>
</root>

Eu gostaria de uma matriz de elementos Animal.

Quando eu tento

JAXBContext jaxb = JAXBContext.newInstance(Root.class);
Unmarshaller jaxbUnmarshaller = jaxb.createUnmarshaller();
Root r = (Root)jaxbUnmarshaller.unmarshal(is);
system.out.println(r.getAnimal.getName());

esta exibiçãomitt, o último animal.

Eu gostaria de fazer isso:

Animal[] a = ....
// OR
ArrayList<Animal> = ...;

Como posso fazer por favor?

questionAnswers(1)

yourAnswerToTheQuestion