public void loadFromSnapshot(Document doc, Element node) {
NodeList nl = node.getElementsByTagName("dragon");
if (nl.getLength() > 0) {
Element dragon = (Element) nl.item(0);
dragonPosition = XmlUtils.extractPosition(dragon);
game.post(new NeutralFigureMoveEvent(NeutralFigureMoveEvent.DRAGON, null, null, dragonPosition));
if (dragon.hasAttribute("moves")) {
dragonMovesLeft = Integer.parseInt(dragon.getAttribute("moves"));
dragonPlayer = game.getPlayer(Integer.parseInt(dragon.getAttribute("movingPlayer")));
dragonVisitedTiles = new HashSet<>();
NodeList vl = dragon.getElementsByTagName("visited");