Switching Tabs

When we switch tabs, we switch gophers...

public void handleTabChange(int index) {

    switch (index) {

    case TabPaneManager.PART_EXPERT_INDEX :
        BaseAction.setActionHandler(partsLookupManager);
        break;
    case TabPaneManager.LABOR_EXPERT_INDEX :
        BaseAction.setActionHandler(laborLookupManager);
        break;
    case TabPaneManager.INTER_CHANGE_INDEX :
        BaseAction.setActionHandler(interLookupManager);
        break;
    default :
        BaseAction.setActionHandler(this);
        break;
    }
}
MainScreen
+ MainScreen()
+ handleTabChange(int)
+ performAction(BaseAction, ActionEvent)
supervisor's supervisor
LookupManager
+ LookupManager(MainScreen)
+ performAction(BaseAction, ActionEvent)
gopher's supervisor
LaborLookupManager
+ LaborLookupManager(LookupManager)
+ performAction(BaseAction, ActionEvent)
new gopher
PartsLookupManager
+ PartsLookupManager(LookupManager)
+ performAction(BaseAction, ActionEvent)
old gopher

...and enable or disable certain Actions.

public void handleTabChange(int index) {

    boolean partExpert  = (index == PART_EXPERT_INDEX);
    boolean laborExpert = (index == LABOR_EXPERT_INDEX);

    BaseAction.setEnabled(LOOKUP_NEW, true);
    BaseAction.setEnabled(LOOKUP_MANUF_DESC, partExpert);
    BaseAction.setEnabled(LOOKUP_GROUP_DESC, partExpert || laborExpert);

    if (!(partExpert || laborExpert)) {
        BaseAction.setEnabled(LOOKUP_NEXT_GROUP, false);
        BaseAction.setEnabled(LOOKUP_PREV_GROUP, false);