@Override
       	public NodeVisitor child(String ns, String name) {
    		if (name == null || name.isEmpty()) {
    			System.err.println("Encountered a null or empty node name "
    					+ "in file " + layoutFile + ", skipping node...");
    			return null;
    		}
    		
    		// Check for inclusions
    		String tname = name.trim();
    		if (tname.equals("include"))
    			return new IncludeParser(layoutFile);
    		
    		// The "merge" tag merges the next hierarchy level into the current
    		// one for flattening hierarchies.
    		if (tname.equals("merge"))
       			return new LayoutParser(layoutFile, theClass);
    		
			final SootClass childClass = getLayoutClass(tname);
			if (childClass != null && (isLayoutClass(childClass) || isViewClass(childClass)))
       			return new LayoutParser(layoutFile, childClass);
			else
				return super.child(ns, name);
       	}