if (node.getNodeType() == node.ELEMENT_NODE ) {
String childName = node.getNodeName();
if ( childName == null ) continue;
List<Map<String,Object>> mapList = nodeMap.get(childName);
if ( mapList == null ) {
<BUG>doDebug(d,"Going down the single rabbit hole path="+path+" node="+node.getNodeName());
</BUG>
recurse(tm, addSlash(path)+node.getNodeName(),node,doFull,d);
<BUG>doDebug(d,"Back from the single rabbit hole path="+path+" node="+node.getNodeName());
</BUG>
} else {

if (node.getNodeType() == node.ELEMENT_NODE ) {
String childName = node.getNodeName();
if ( childName == null ) continue;
List<Map<String,Object>> mapList = nodeMap.get(childName);
if ( mapList == null ) {
if ( DF ) doDebug(d,"Going down the single rabbit hole path="+path+" node="+node.getNodeName());
recurse(tm, addSlash(path)+node.getNodeName(),node,doFull,d);
if ( DF ) doDebug(d,"Back from the single rabbit hole path="+path+" node="+node.getNodeName());
