Jeśli jest to uniwersalna klasa do zarządzania tabami z osadzonymi fragmentami to dlaczego jest tutaj pole mAnimal i dlaczego zakładasz, że możesz zrzutować obiekt typu XmlObject na Animal? Jest to bardzo niejasne.