Program: 120163
Project: 120163
Buggy source:
public void dragStart(DragSourceEvent event){
  if (draggableControl instanceof Table) {
    Table draggableTable=(Table)draggableControl;
    TableItem[] items=draggableTable.getSelection();
    if (items.length == 0) {
      event.doit=false;
    }
 else {
      DataMapTableView dataMapTableViewSource=mapperManager.retrieveDataMapTableView(draggableTable);
      TableItem tableItemSource=draggableTable.getItem(new Point(event.x,event.y));
      if (dataMapTableViewSource != null) {
        DraggedData draggedData=new DraggedData();
        ArrayList<DataMapTableView> list=new ArrayList<DataMapTableView>(mapperManager.getUiManager().getVarsTablesView());
        list.addAll(mapperManager.getUiManager().getInputsTablesView());
        list.addAll(mapperManager.getUiManager().getOutputsTablesView());
        for (        DataMapTableView dataMapTableView : list) {
          Table table=dataMapTableView.getTableViewerCreatorForColumns().getTable();
          TableItem[] tableItems=table.getSelection();
          for (int i=0; i < tableItems.length; i++) {
            TableItem item=tableItems[i];
            ITableEntry dataMapTableEntry=(ITableEntry)item.getData();
            if (dataMapTableEntry instanceof AbstractInOutTableEntry) {
              draggedData.addEntry(dataMapTableEntry,((AbstractInOutTableEntry)dataMapTableEntry).getMetadataColumn(),dataMapTableView.getZone());
            }
 else {
              draggedData.addEntry(dataMapTableEntry,null,dataMapTableView.getZone());
            }
          }
        }
        draggedData.setDataMapTableViewSource(dataMapTableViewSource);
        draggedData.setTableItemSource(tableItemSource);
        TableEntriesTransfer.getInstance().setDraggedData(draggedData);
        int countEntries=draggedData.getTransferableEntryList().size();
        UIManager uiManager=mapperManager.getUiManager();
        DraggingInfosPopup draggingInfosPopup=uiManager.getDraggingInfosPopup();
        draggingInfosPopup.setCountDraggingEntries(countEntries);
        draggingInfosPopup.setMapOneToOneMode(uiManager.isShiftPressed(),true);
        draggingInfosPopup.setOverwriteMode(uiManager.isCtrlPressed());
        draggingInfosPopup.setInsertionEntryContext(false);
        draggingInfosPopup.setExpressionContext(false);
        uiManager.setDragging(true);
      }
    }
  }
}

Fixed version (ground truth):
public void dragStart(DragSourceEvent event){
  if (draggableControl instanceof Table) {
    Table draggableTable=(Table)draggableControl;
    TableItem[] items=draggableTable.getSelection();
    if (items.length == 0) {
      event.doit=false;
    }
 else {
      DataMapTableView dataMapTableViewSource=mapperManager.retrieveDataMapTableView(draggableTable);
      TableItem tableItemSource=draggableTable.getItem(new Point(event.x,event.y));
      if (dataMapTableViewSource != null) {
        DraggedData draggedData=new DraggedData();
        ArrayList<DataMapTableView> list=new ArrayList<DataMapTableView>(mapperManager.getUiManager().getVarsTablesView());
        list.addAll(mapperManager.getUiManager().getInputsTablesView());
        list.addAll(mapperManager.getUiManager().getOutputsTablesView());
        for (        DataMapTableView dataMapTableView : list) {
          Table table=dataMapTableView.getTableViewerCreatorForColumns().getTable();
          TableItem[] tableItems=table.getSelection();
          for (          TableItem item : tableItems) {
            ITableEntry dataMapTableEntry=(ITableEntry)item.getData();
            if (dataMapTableEntry instanceof AbstractInOutTableEntry) {
              draggedData.addEntry(dataMapTableEntry,((AbstractInOutTableEntry)dataMapTableEntry).getMetadataColumn(),dataMapTableView.getZone());
            }
 else {
              draggedData.addEntry(dataMapTableEntry,null,dataMapTableView.getZone());
            }
          }
        }
        draggedData.setDataMapTableViewSource(dataMapTableViewSource);
        draggedData.setTableItemSource(tableItemSource);
        TableEntriesTransfer.getInstance().setDraggedData(draggedData);
        int countEntries=draggedData.getTransferableEntryList().size();
        UIManager uiManager=mapperManager.getUiManager();
        DraggingInfosPopup draggingInfosPopup=uiManager.getDraggingInfosPopup();
        draggingInfosPopup.setCountDraggingEntries(countEntries);
        draggingInfosPopup.setMapOneToOneMode(uiManager.isShiftPressed(),true);
        draggingInfosPopup.setOverwriteMode(uiManager.isCtrlPressed());
        draggingInfosPopup.setInsertionEntryContext(false);
        draggingInfosPopup.setExpressionContext(false);
        uiManager.setDragging(true);
      }
    }
  }
}