private Settings unmarshallTableDisplay(Node tableDisplayNode, Settings settings) { Node n; NodeList nodes = tableDisplayNode.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { n = nodes.item(i); if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("font")) { settings.setTableFont( new Font( unmarshallAttribute(n, "face", "Arial"), unmarshallAttribute(n, "decoration", BOLD), unmarshallAttribute(n, "size", 12))); } else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("cellsize")) { settings.setCellSize( new Dimension(unmarshallAttribute(n, "x", 42), unmarshallAttribute(n, "y", 18))); } else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("colors")) { settings = unmarshallColors(n, settings); } } return settings; }