docs: @SuppressWarnings("rawtypes")
  	private NodeConfig parserNode(Element element) {
  		NodeConfig nodeConfig = new NodeConfig();
  
  		nodeConfig.setName(XmlElementUtils.mapXMLToObject(element.getName()));
  		nodeConfig.setNamespace(element.getNamespacePrefix(), element.getNamespaceURI());
  
  		List childrenNodes = element.getChildren();
  		if (childrenNodes != null && childrenNodes.size() > 0) {
  			List<NodeConfig> subNodeConfigList = new ArrayList<NodeConfig>();
  			
  			for (Object childrenNode : childrenNodes) {
  				if (childrenNode instanceof Element) {
  					NodeConfig subNodeConfig = parserNode((Element)childrenNode);
  					subNodeConfigList.add(subNodeConfig);
  				}
  			}
  			
  			nodeConfig.setChildrenNodes(subNodeConfigList);
  		}
  
  		String value = element.getText();
  		if (value != null && !value.trim().equals("")) {
  			nodeConfig.setValue(value.trim());
  		}
  		nodeConfig.setAttribute(parserAttribute(element));
  		
  		return nodeConfig;
  	}