return helmaNode; }
	private INode children( INode helmaNode, Element element )	{		NodeList list = element.getChildNodes();		int len = list.getLength();		Element childElement;		for ( int i=0; i<len; i++ )	{			try	{				childElement = (Element)list.item(i);			}	catch( ClassCastException e )	{				continue;		// ignore CDATA, comments etc			}			INode workNode = null;			if ( childElement.getTagName().equals("hop:child") )	{				convert (childElement, helmaNode.createNode(null));			}	else if ( !"".equals(childElement.getAttribute("id")) || !"".equals(childElement.getAttribute("idref")) )	{				String childTagName = childElement.getTagName();				INode newNode = convert (childElement, helmaNode.createNode (childTagName));				helmaNode.setNode (childTagName, newNode);			}	else	{				String type = childElement.getAttribute("type");				String key  = childElement.getTagName();				String content = XmlUtil.getTextContent(childElement);				if ( type.equals("boolean") )	{					if ( content.equals("true") )	{						helmaNode.setBoolean(key,true);					}	else	{						helmaNode.setBoolean(key,false);					}				}	else if ( type.equals("date") )	{					SimpleDateFormat format = new SimpleDateFormat ( DATEFORMAT );					try	{						Date date = format.parse(content);						helmaNode.setDate(key, date);					}	catch ( ParseException e )	{						helmaNode.setString(key,content);					}				}	else if ( type.equals("float") )	{					helmaNode.setFloat(key, (new Double(content)).doubleValue() );				}	else if ( type.equals("integer") )	{					helmaNode.setInteger(key, (new Long(content)).longValue() );				}	else {					helmaNode.setString(key,content);				}			}		}		return helmaNode;	}