public List<ItemProperties> actionCategories() { if (!_isGlobal) { Context context = MetaContext.currentContext(this); UIMeta meta = (UIMeta) context.meta(); context.push(); _actionsByCategory = new HashMap(); List<ItemProperties> categories = meta.actionsByCategory(context, _actionsByCategory, UIMeta.ActionZones); context.pop(); return categories; } List<String> showCategories = (List) valueForBinding("showOnly"); List<ItemProperties> categories = MetaNavTabBar.getState(session()).getActionCategories(); if (showCategories != null) { List<ItemProperties> filteredCategories = new ArrayList(); for (ItemProperties category : categories) { if (showCategories.contains(category.name())) { filteredCategories.add(category); } } categories = filteredCategories; } _actionsByCategory = MetaNavTabBar.getState(session()).getActionsByCategory(); return categories; }