code: @Override
  	protected void parse(Node node) {
  		NamedNodeMap attributes = node.getAttributes();
  		version = getValueRecursive(attributes.getNamedItem("version"));
  
  		NodeList childNodes = node.getChildNodes();
  		for (int i = 0; i < childNodes.getLength(); i++) {
  			Node child = childNodes.item(i);
  			String nodeName = child.getNodeName();
  			if ("Title".equalsIgnoreCase(nodeName)) {
  				title = getValueRecursive(child);
  			} else if ("Abstract".equalsIgnoreCase(nodeName)) {
  				abstractt = getValueRecursive(child);
  			} else if ("TileMaps".equalsIgnoreCase(nodeName)) {
  				addTileMaps(child);
  			}
  		}
  		if (title == null) {
  			throw new IllegalArgumentException("Cannot parse XML into a TileMapServiceInfo object.");
  		}
  
  		setParsed(true);
  	}
docs: ------------------------------------------------------------------------