private Settings unmarshallColors(Node colorNode, Settings settings) { Node n; NodeList nodes = colorNode.getChildNodes(); for (int i = 0; i < nodes.getLength(); i++) { n = nodes.item(i); if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("max")) { settings.setMaxColor(unmarshallColor(n)); } else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("min")) { settings.setMinColor(unmarshallColor(n)); } else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("highlight")) { settings.setHighlightColor(unmarshallColor(n)); } else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("increaseborder")) { settings.setIncreaseBorder(unmarshallColor(n)); } else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("decreaseborder")) { settings.setDecreaseBorder(unmarshallColor(n)); } else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("axis")) { settings.setAxisColor(unmarshallColor(n)); } else if (n.getNodeType() == ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("warning")) { settings.setWarningColor(unmarshallColor(n)); } } return settings; }