Validate.notNull(mode);
Validate.isTrue(handleAtLeatOneCase(tabs),
"must handle at least one ModeType");
this.mode = mode;
this.tabs = new EnumMap<ModeType, ITab>(tabs);
this.mode.addListener(new ModeTypeChangedListener() {
@Override
public void typeChanged(ModeType oldType, ModeType newType) {
if (beingShown) {
changeTab(oldType, newType);