addNavigationBar(indexPage);
addNavigationBar(INDEX_NAV_CONTEXT);
    protected void createIndexPage(String title) {	createPrinters(INDEX_PAGE_NAME, title);        page.printHeader(ATTRS_META, getGenerator());        String windowTitle = title + " (" + doctitle.replaceAll("<.*>", " ") + ")";        page.printOpenBody(new XMLAttribute[]{            new XMLAttribute("onload", "setWindowTitle('" + windowTitle + "');")        });        addNavigationBar(indexPage);        page.printlnHLine();        page.printlnOTag("table", ATTRS_MEMBER).indent();        page.printlnOTag("tr").indent();        page.printlnOTag("td", ATTRS_MEMBER_TITLE).indent();        page.println("Index").undent();        page.printlnCTag("td").undent();        page.printlnCTag("tr").undent();        page.printlnCTag("table");        page.printlnSTag("br");	Pair index = ScalaSearch.index(tree);	Character[] chars = (Character[]) index.fst;	Map map = (Map) index.snd;	for (int i  = 0; i < chars.length; i++)	    page.printlnAhref("#" + i, ROOT_FRAME_NAME, HTMLPrinter.encode(chars[i]));	page.printlnHLine();	for (int i  = 0; i < chars.length; i++) {	    Character car = chars[i];	    page.printlnAname(String.valueOf(i), "");	    page.printlnOTag("h2");            page.printBold(HTMLPrinter.encode(car));            page.printlnCTag("h2");	    	    page.printlnOTag("dl").indent();	    Tree[] trees = (Tree[]) map.get(car);	    for (int j  = 0; j < trees.length; j++) {		page.printOTag("dt");                addIndexEntry(trees[j].symbol());		//		page.printlnTag("em", Location.getURI(trees[j].symbol()).toString()); // for debugging                page.printlnCTag("dt");		page.printlnTag("dd", firstSentence(getComment(trees[j].symbol())));	    }            page.undent().printlnCTag("dl");	}        page.printlnHLine();        addNavigationBar(indexPage);        if (validate)            addValidationBar();        page.printFootpage();        closePrinters();    }