@Override
public void addWidget(WidgetToShow widget, boolean removable) {
final Tab tab = tabItemFactory.createTabItem(widget.getTitle(), widget.getIcon(), removable);
tab.setDelegate(this);
tabs2Widgets.put(tab, widget);
widgets2Tabs.put(widget, tab);
tabsPanel.insert(tab, tabsPanel.getWidgetIndex(plusPanel));
Widget visibleWidget = widgetsPanel.getVisibleWidget();
widgetsPanel.setWidget(widget.getWidget());
if (visibleWidget != null) {
widgetsPanel.showWidget(visibleWidget);
}
final MenuItemWidget listItemWidget = new MenuItemWidget(tab, removable);
menu.addListItem(listItemWidget);
widgets2ListItems.put(widget, listItemWidget);
}