protected void decodeChild(mxCodec dec, Node child, Object obj)
	{
		String fieldname = getFieldName(((Element) child).getAttribute("as"));

		if (fieldname == null || !isExcluded(obj, fieldname, child, false))
		{
			Object template = getFieldTemplate(obj, fieldname, child);
			Object value = null;

			if (child.getNodeName().equals("add"))
			{
				value = ((Element) child).getAttribute("value");

				if (value == null)
				{
					value = child.getTextContent();
				}
			}
			else
			{
				value = dec.decode(child, template);
				// System.out.println("Decoded " + child.getNodeName() + "."
				// + fieldname + "=" + value);
			}

			addObjectValue(obj, fieldname, value, template);
		}
	}