protected ToolbarMenuButton getAddPortletButton() {
    shortToLongPortletNameMap = UIFactory.getAvailablePortletNameMap();

    Menu addPortletMenu = new Menu();
    for (String portletName : shortToLongPortletNameMap.keySet()) {
      Item item = new Item(portletName);
      addPortletMenu.addItem(item);
      item.addListener(
          new BaseItemListenerAdapter() {
            @Override
            public void onClick(BaseItem item, EventObject e) {
              String javaClassName = shortToLongPortletNameMap.get(((Item) item).getText());
              onPortletAdded(javaClassName);
            }
          });
    }
    ToolbarMenuButton addPortletButton =
        new ToolbarMenuButton("Add content to this tab", addPortletMenu);
    addPortletButton.setIcon("images/portlet_add.gif");
    return addPortletButton;
  }