private static PageBean createPageBean( String sitemapName, String title, String icon, String pageId, EList<Widget> children, boolean drillDown, boolean isLeaf, URI uri) { PageBean bean = new PageBean(); bean.id = pageId; bean.title = title; bean.icon = icon; bean.leaf = isLeaf; bean.link = UriBuilder.fromUri(uri) .path(PATH_SITEMAPS) .path(sitemapName) .path(pageId) .build() .toASCIIString(); if (children != null) { int cntWidget = 0; for (Widget widget : children) { String widgetId = pageId + "_" + cntWidget; WidgetBean subWidget = createWidgetBean(sitemapName, widget, drillDown, uri, widgetId); if (subWidget != null) bean.widgets.add(subWidget); cntWidget++; } } else { bean.widgets = null; } return bean; }