protected static void recurseHTML(Node n, StringBuffer sb){
if (n instanceof CategoryNode){
CategoryNode cn = (CategoryNode)n;
sb.append(toHTML(cn));
sb.append("<ul>\n");
Enumeration<Node> en = cn.children();
while (en.hasMoreElements()){
Node child = en.nextElement();
recurseHTML(child, sb);
}
sb.append("</ul>\n");