Program: 122573
Project: 122573
Buggy source:
protected void createGlobalMapTable(){
  this.extendedTableViewerForGlobalMap=new AbstractExtendedTableViewer<GlobalMapEntry>(((InputTable)abstractDataMapTable).getTableGlobalMapEntriesModel(),centerComposite){
    @Override protected void createColumns(    TableViewerCreator<GlobalMapEntry> tableViewerCreator,    Table table){
      createGlobalMapColumns(tableViewerCreator);
    }
    @Override protected void setTableViewerCreatorOptions(    TableViewerCreator<GlobalMapEntry> newTableViewerCreator){
      super.setTableViewerCreatorOptions(newTableViewerCreator);
      newTableViewerCreator.setColumnsResizableByDefault(true);
      newTableViewerCreator.setShowLineSelection(SHOW_ROW_SELECTION.FULL);
      newTableViewerCreator.setBorderVisible(false);
      newTableViewerCreator.setLayoutMode(LAYOUT_MODE.FILL_HORIZONTAL);
      newTableViewerCreator.setKeyboardManagementForCellEdition(true);
      newTableViewerCreator.setHorizontalScroll(false);
      newTableViewerCreator.setVerticalScroll(false);
      newTableViewerCreator.setFirstColumnMasked(true);
    }
  }
;
  tableViewerCreatorForGlobalMap=this.extendedTableViewerForGlobalMap.getTableViewerCreator();
  this.extendedTableViewerForGlobalMap.setCommandStack(mapperManager.getCommandStack());
  tableForGlobalMap=tableViewerCreatorForGlobalMap.getTable();
  tableForGlobalMapGridData=new GridData(SWT.FILL,SWT.FILL,true,false,2,1);
  tableForGlobalMap.setLayoutData(tableForGlobalMapGridData);
  boolean tableGlobalMapVisible=false;
  if (abstractDataMapTable instanceof InputTable) {
    IUILookupMode lookupMode=((InputTable)abstractDataMapTable).getLookupMode();
    tableGlobalMapVisible=lookupMode == TMAP_LOOKUP_MODE.RELOAD || lookupMode == TMAP_LOOKUP_MODE.CACHE_OR_RELOAD;
  }
  tableForGlobalMapGridData.exclude=!tableGlobalMapVisible;
  tableForGlobalMap.setVisible(tableGlobalMapVisible);
  if (!mapperManager.componentIsReadOnly()) {
    new DragNDrop(mapperManager,tableForGlobalMap,false,true);
  }
  tableViewerCreatorForGlobalMap.addCellValueModifiedListener(new ITableCellValueModifiedListener(){
    public void cellValueModified(    TableCellValueModifiedEvent e){
      unselectAllEntriesIfErrorDetected(e);
    }
  }
);
  final TableViewer tableViewer=tableViewerCreatorForGlobalMap.getTableViewer();
  tableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      ISelection selection=event.getSelection();
      selectThisDataMapTableView();
      UIManager uiManager=mapperManager.getUiManager();
      uiManager.selectLinks(InputDataMapTableView.this,uiManager.extractSelectedTableEntries(selection),false,false);
    }
  }
);
  tableForGlobalMap.addListener(SWT.KeyDown,new Listener(){
    public void handleEvent(    Event event){
      processEnterKeyDown(tableViewerCreatorForGlobalMap,event);
    }
  }
);
  tableViewerCreatorForGlobalMap.setLabelProvider(new DefaultTableLabelProvider(tableViewerCreatorForGlobalMap){
    @Override public Color getBackground(    Object element,    int columnIndex){
      return getBackgroundCellColor(tableViewerCreator,element,columnIndex);
    }
    @Override public Color getForeground(    Object element,    int columnIndex){
      return getForegroundCellColor(tableViewerCreator,element,columnIndex);
    }
  }
);
  initShowMessageErrorListener(tableForGlobalMap);
}

Fixed version (ground truth):
protected void createGlobalMapTable(){
  this.extendedTableViewerForGlobalMap=new AbstractExtendedTableViewer<GlobalMapEntry>(((InputTable)abstractDataMapTable).getTableGlobalMapEntriesModel(),centerComposite){
    @Override protected void createColumns(    TableViewerCreator<GlobalMapEntry> tableViewerCreator,    Table table){
      createGlobalMapColumns(tableViewerCreator);
    }
    @Override protected void setTableViewerCreatorOptions(    TableViewerCreator<GlobalMapEntry> newTableViewerCreator){
      super.setTableViewerCreatorOptions(newTableViewerCreator);
      newTableViewerCreator.setColumnsResizableByDefault(true);
      newTableViewerCreator.setShowLineSelection(SHOW_ROW_SELECTION.FULL);
      newTableViewerCreator.setBorderVisible(false);
      newTableViewerCreator.setLayoutMode(LAYOUT_MODE.FILL_HORIZONTAL);
      newTableViewerCreator.setKeyboardManagementForCellEdition(true);
      newTableViewerCreator.setHorizontalScroll(false);
      newTableViewerCreator.setVerticalScroll(false);
      newTableViewerCreator.setFirstColumnMasked(true);
    }
  }
;
  tableViewerCreatorForGlobalMap=this.extendedTableViewerForGlobalMap.getTableViewerCreator();
  if (mapperManager.componentIsReadOnly()) {
    tableViewerCreatorForGlobalMap.setReadOnly(true);
  }
  this.extendedTableViewerForGlobalMap.setCommandStack(mapperManager.getCommandStack());
  tableForGlobalMap=tableViewerCreatorForGlobalMap.getTable();
  tableForGlobalMapGridData=new GridData(SWT.FILL,SWT.FILL,true,false,2,1);
  tableForGlobalMap.setLayoutData(tableForGlobalMapGridData);
  boolean tableGlobalMapVisible=false;
  if (abstractDataMapTable instanceof InputTable) {
    IUILookupMode lookupMode=((InputTable)abstractDataMapTable).getLookupMode();
    tableGlobalMapVisible=lookupMode == TMAP_LOOKUP_MODE.RELOAD || lookupMode == TMAP_LOOKUP_MODE.CACHE_OR_RELOAD;
  }
  tableForGlobalMapGridData.exclude=!tableGlobalMapVisible;
  tableForGlobalMap.setVisible(tableGlobalMapVisible);
  if (!mapperManager.componentIsReadOnly()) {
    new DragNDrop(mapperManager,tableForGlobalMap,false,true);
  }
  tableViewerCreatorForGlobalMap.addCellValueModifiedListener(new ITableCellValueModifiedListener(){
    public void cellValueModified(    TableCellValueModifiedEvent e){
      unselectAllEntriesIfErrorDetected(e);
    }
  }
);
  final TableViewer tableViewer=tableViewerCreatorForGlobalMap.getTableViewer();
  tableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      ISelection selection=event.getSelection();
      selectThisDataMapTableView();
      UIManager uiManager=mapperManager.getUiManager();
      uiManager.selectLinks(InputDataMapTableView.this,uiManager.extractSelectedTableEntries(selection),false,false);
    }
  }
);
  tableForGlobalMap.addListener(SWT.KeyDown,new Listener(){
    public void handleEvent(    Event event){
      processEnterKeyDown(tableViewerCreatorForGlobalMap,event);
    }
  }
);
  tableViewerCreatorForGlobalMap.setLabelProvider(new DefaultTableLabelProvider(tableViewerCreatorForGlobalMap){
    @Override public Color getBackground(    Object element,    int columnIndex){
      return getBackgroundCellColor(tableViewerCreator,element,columnIndex);
    }
    @Override public Color getForeground(    Object element,    int columnIndex){
      return getForegroundCellColor(tableViewerCreator,element,columnIndex);
    }
  }
);
  initShowMessageErrorListener(tableForGlobalMap);
}