iter.setSkipHiddenSubPages(Utils.isTrue(allowHiding));
boolean liUsed = false;
boolean firstUl = true;
while (iter.hasNext()) {
PageInfo currentPageInfo = (PageInfo) iter.next();
Path currentPath = currentPageInfo.getPath();
int level = Math.max(baseLevel, currentPageInfo.getLevel());
for (int i = lastLevel; i < level; i++) {
if (firstUl) {
writeIndented(outWriter, "<ul class=\"" +
(horizontal ? "hmenu" : "vmenu") + "\">", i);
firstUl = false;
} else {
writeIndented(outWriter, "<ul>", i);
}
writeIndented(outWriter, "<li>", i + 1);
liUsed = false;
}
for (int i = lastLevel - 1; i >= level; i--) {
if (liUsed) {
outWriter.write("</li>");
liUsed = false;
} else {
writeIndented(outWriter, "</li>", i + 1);
}
writeIndented(outWriter, "</ul>", i);
}
if (liUsed) {
outWriter.write("</li>");
writeIndented(outWriter, "<li>", level);
}
for ( int i = lastLevel - 1; i >= level; i--) {
writeIndented(outWriter, "</li>", i);
writeIndented(outWriter, "<li>", i);
}
if ( ! Utils.isNullOrEmpty(currentPathStyle)
&& ( currentPageInfo.getLevel() >= baseLevel
&& pathInMenu.isContainedIn(currentPath)
|| currentPageInfo.getPath().equals(pathInMenu)
) ) {
outWriter.write("<a href=\"" + webSite.getLink(currentPageInfo, pageDirPath) +
"\" class='" + currentPathStyle + "'>" +
siteInfo.getPageTitle(currentPageInfo) + "</a>");
} else {