Program: 118057
Project: 118057
Buggy source:
@Override protected void createMapSettingTable(){
  ExtendedTableModel<GlobalMapEntry> tableMapSettingEntriesModel=((InputTable)abstractDataMapTable).getTableMapSettingEntriesModel();
  extendedTableViewerForMapSetting=new AbstractExtendedTableViewer<GlobalMapEntry>(tableMapSettingEntriesModel,centerComposite){
    @Override protected void createColumns(    TableViewerCreator<GlobalMapEntry> tableViewerCreator,    Table table){
      initMapSettingColumns(tableViewerCreator);
    }
    @Override protected void setTableViewerCreatorOptions(    TableViewerCreator<GlobalMapEntry> newTableViewerCreator){
      super.setTableViewerCreatorOptions(newTableViewerCreator);
      newTableViewerCreator.setBorderVisible(false);
    }
  }
;
  if (tableMapSettingEntriesModel != null) {
    if (!getInputTable().isMainConnection()) {
      if (!getMapperManager().isMRProcess()) {
        tableMapSettingEntriesModel.add(new GlobalMapEntry(abstractDataMapTable,LOOKUP_MODEL_SETTING,null));
      }
      tableMapSettingEntriesModel.add(new GlobalMapEntry(abstractDataMapTable,MATCH_MODEL_SETTING,null));
      tableMapSettingEntriesModel.add(new GlobalMapEntry(abstractDataMapTable,JOIN_MODEL_SETTING,null));
      if (!getMapperManager().isBigDataProcess()) {
        tableMapSettingEntriesModel.add(new GlobalMapEntry(abstractDataMapTable,PERSISTENCE_MODEL_SETTING,null));
      }
    }
 else {
    }
  }
  mapSettingViewerCreator=extendedTableViewerForMapSetting.getTableViewerCreator();
  mapSettingTable=extendedTableViewerForMapSetting.getTable();
  tableForMapSettingGridData=new GridData(SWT.FILL,SWT.FILL,true,true,2,1);
  mapSettingTable.setLayoutData(tableForMapSettingGridData);
  mapSettingTable.setHeaderVisible(true);
  mapSettingTable.setLinesVisible(true);
  boolean mappingSettingVisible=false;
  if (abstractDataMapTable instanceof AbstractInOutTable) {
    mappingSettingVisible=((AbstractInOutTable)abstractDataMapTable).isActivateCondensedTool();
  }
  tableForMapSettingGridData.exclude=!mappingSettingVisible;
  mapSettingTable.setVisible(mappingSettingVisible);
  mapSettingViewerCreator.setCellModifier(new TableCellModifier(mapSettingViewerCreator));
  mapSettingViewerCreator.getTableViewer().setSelection(null);
  mapSettingTable.addFocusListener(new FocusListener(){
    public void focusLost(    FocusEvent e){
      mapSettingViewerCreator.getTableViewer().setSelection(null);
    }
    public void focusGained(    FocusEvent e){
    }
  }
);
  final TableViewer mapSettingTableViewer=mapSettingViewerCreator.getTableViewer();
  mapSettingTableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      selectThisDataMapTableView();
    }
  }
);
}

Fixed version (ground truth):
@Override protected void createMapSettingTable(){
  ExtendedTableModel<GlobalMapEntry> tableMapSettingEntriesModel=((InputTable)abstractDataMapTable).getTableMapSettingEntriesModel();
  extendedTableViewerForMapSetting=new AbstractExtendedTableViewer<GlobalMapEntry>(tableMapSettingEntriesModel,centerComposite){
    @Override protected void createColumns(    TableViewerCreator<GlobalMapEntry> tableViewerCreator,    Table table){
      initMapSettingColumns(tableViewerCreator);
    }
    @Override protected void setTableViewerCreatorOptions(    TableViewerCreator<GlobalMapEntry> newTableViewerCreator){
      super.setTableViewerCreatorOptions(newTableViewerCreator);
      newTableViewerCreator.setBorderVisible(false);
    }
  }
;
  if (tableMapSettingEntriesModel != null) {
    if (!getInputTable().isMainConnection()) {
      if (!getMapperManager().isMRProcess()) {
        tableMapSettingEntriesModel.add(new GlobalMapEntry(abstractDataMapTable,LOOKUP_MODEL_SETTING,null));
      }
      tableMapSettingEntriesModel.add(new GlobalMapEntry(abstractDataMapTable,MATCH_MODEL_SETTING,null));
      tableMapSettingEntriesModel.add(new GlobalMapEntry(abstractDataMapTable,JOIN_MODEL_SETTING,null));
      if (!getMapperManager().isBigDataProcess()) {
        tableMapSettingEntriesModel.add(new GlobalMapEntry(abstractDataMapTable,PERSISTENCE_MODEL_SETTING,null));
      }
    }
 else {
    }
  }
  mapSettingViewerCreator=extendedTableViewerForMapSetting.getTableViewerCreator();
  mapSettingTable=extendedTableViewerForMapSetting.getTable();
  tableForMapSettingGridData=new GridData(SWT.FILL,SWT.FILL,true,true,3,1);
  mapSettingTable.setLayoutData(tableForMapSettingGridData);
  mapSettingTable.setHeaderVisible(true);
  mapSettingTable.setLinesVisible(true);
  boolean mappingSettingVisible=false;
  if (abstractDataMapTable instanceof AbstractInOutTable) {
    mappingSettingVisible=((AbstractInOutTable)abstractDataMapTable).isActivateCondensedTool();
  }
  tableForMapSettingGridData.exclude=!mappingSettingVisible;
  mapSettingTable.setVisible(mappingSettingVisible);
  mapSettingViewerCreator.setCellModifier(new TableCellModifier(mapSettingViewerCreator));
  mapSettingViewerCreator.getTableViewer().setSelection(null);
  mapSettingTable.addFocusListener(new FocusListener(){
    public void focusLost(    FocusEvent e){
      mapSettingViewerCreator.getTableViewer().setSelection(null);
    }
    public void focusGained(    FocusEvent e){
    }
  }
);
  final TableViewer mapSettingTableViewer=mapSettingViewerCreator.getTableViewer();
  mapSettingTableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      selectThisDataMapTableView();
    }
  }
);
}