Program: 47439
Project: 47439
Buggy source:
public void selectTab(final PentahoTab selectedTab){
  MantleTab prevTab=(MantleTab)getSelectedTab();
  boolean prevState=SolutionBrowserPanel.getInstance().isNavigatorShowing();
  if (prevTab != null) {
    prevTab.setSolutionBrowserShowing(prevState);
  }
  super.selectTab(selectedTab);
  if (selectedTab == null) {
    return;
  }
  SolutionBrowserPanel.getInstance().setNavigatorShowing(selectedTab.isSolutionBrowserShowing());
  Widget selectTabContent=null;
  if (getTab(getSelectedTabIndex()) != null) {
    selectTabContent=getTab(getSelectedTabIndex()).getContent();
  }
  List<FileItem> selectedItems=SolutionBrowserPanel.getInstance().getFilesListPanel().getSelectedFileItems();
  EventBusUtil.EVENT_BUS.fireEvent(new SolutionBrowserSelectEvent(selectTabContent,selectedItems));
  Window.setTitle(Messages.getString("String_Node_Str") + "String_Node_Str" + selectedTab.getLabelText());
  for (int i=0; i < getTabCount(); i++) {
    final PentahoTab tab=getTab(i);
    if (tab.getContent() instanceof IFrameTabPanel) {
      if (tab.getContent() != selectedTab.getContent()) {
        FrameUtils.setEmbedVisibility(((IFrameTabPanel)tab.getContent()).getFrame(),false);
      }
    }
  }
  if (selectedTab.getContent() instanceof IFrameTabPanel) {
    FrameUtils.setEmbedVisibility(((IFrameTabPanel)selectedTab.getContent()).getFrame(),true);
    ieFix(((IFrameTabPanel)selectedTab.getContent()).getFrame().getElement());
    IFrameTabPanel tabPanel=(IFrameTabPanel)selectedTab.getContent();
    if (tabPanel.getUrl() != null) {
      onTabSelect(getFrameElement(selectedTab));
    }
  }
}

Fixed version (ground truth):
public void selectTab(final PentahoTab selectedTab){
  PentahoTab prevTab=getSelectedTab();
  if (prevTab != null && prevTab instanceof MantleTab) {
    MantleTab mantlePrevTab=(MantleTab)prevTab;
    boolean prevState=SolutionBrowserPanel.getInstance().isNavigatorShowing();
    if (mantlePrevTab != null) {
      mantlePrevTab.setSolutionBrowserShowing(prevState);
    }
  }
  super.selectTab(selectedTab);
  if (selectedTab == null) {
    return;
  }
  if (selectedTab instanceof MantleTab) {
    MantleTab mantleTab=(MantleTab)selectedTab;
    SolutionBrowserPanel.getInstance().setNavigatorShowing(mantleTab.isSolutionBrowserShowing());
  }
  Widget selectTabContent=null;
  if (getTab(getSelectedTabIndex()) != null) {
    selectTabContent=getTab(getSelectedTabIndex()).getContent();
  }
  List<FileItem> selectedItems=SolutionBrowserPanel.getInstance().getFilesListPanel().getSelectedFileItems();
  EventBusUtil.EVENT_BUS.fireEvent(new SolutionBrowserSelectEvent(selectTabContent,selectedItems));
  Window.setTitle(Messages.getString("String_Node_Str") + "String_Node_Str" + selectedTab.getLabelText());
  for (int i=0; i < getTabCount(); i++) {
    final PentahoTab tab=getTab(i);
    if (tab.getContent() instanceof IFrameTabPanel) {
      if (tab.getContent() != selectedTab.getContent()) {
        FrameUtils.setEmbedVisibility(((IFrameTabPanel)tab.getContent()).getFrame(),false);
      }
    }
  }
  if (selectedTab.getContent() instanceof IFrameTabPanel) {
    FrameUtils.setEmbedVisibility(((IFrameTabPanel)selectedTab.getContent()).getFrame(),true);
    ieFix(((IFrameTabPanel)selectedTab.getContent()).getFrame().getElement());
    IFrameTabPanel tabPanel=(IFrameTabPanel)selectedTab.getContent();
    if (tabPanel.getUrl() != null) {
      onTabSelect(getFrameElement(selectedTab));
    }
  }
}