tile.setProperty(getAttributeValue(child,"name"),
tileProps.setProperty(getAttributeValue(child,"name"),
    private Tile unmarshalTile(Node t) throws Exception {        Tile tile = null;        try {            tile = (Tile)unmarshalClass(Tile.class, t);        } catch (Exception e) {            e.printStackTrace();        }        NodeList children = t.getChildNodes();        for (int i = 0; i < children.getLength(); i++) {            Node child = children.item(i);            if (child.getNodeName().equalsIgnoreCase("image")) {                int id = getAttribute(child, "id", -1);                if (id < 0) {                    tile.setImage(unmarshalImage(child));                } else {                    tile.setImage(id);                    int rotation = getAttribute(child, "rotation", 0);                    String flipped_s = getAttributeValue(child, "flipped");                    boolean flipped = (flipped_s != null                        && flipped_s.equalsIgnoreCase("true"));                    int orientation;                    if (rotation == 90) {                        orientation = (flipped ? 6 : 4);                    } else if (rotation == 180) {                        orientation = (flipped ? 2 : 3);                    } else if (rotation == 270) {                        orientation = (flipped ? 5 : 7);                    } else {                        orientation = (flipped ? 1 : 0);                    }                    tile.setImageOrientation(orientation);                }            } else if (child.getNodeName().equalsIgnoreCase("property")) {                tile.setProperty(getAttributeValue(child,"name"),                        getAttributeValue(child, "value"));            }        }        return tile;    }