After the toc expanded level is set to -1 (if is called programmatically in this case), all toc functionalities is needed to bereinitalized. The method webToc.setExpandLevel() does not generate the legend symbol.see the below modified calling method.//########################################### public void expandTOC(){ WebMap webMap = webContext.getWebMap(); WebContext webContext = webMap.getWebContext(); WebToc webToc = webContext.getWebToc(); webToc.setExpandLevel(-1); java.util.List<TocFunctionality> lc = webToc.getTocFunctionalities(); for (int i = 0; i < lc.size(); i++) { webToc.init(lc.get(i)); } findTocNode(webToc.getRootNodes()); return; }