Program: 122868
Project: 122868
Buggy source:
private void addItemElements(List<ItemVersionObject> elements){
  if (elements == null || elements.isEmpty()) {
    return;
  }
  itemTable.setRedraw(false);
  final Color redColor=Display.getDefault().getSystemColor(SWT.COLOR_RED);
  for (  final ItemVersionObject object : elements) {
    final TableItem tableItem=new TableItem(itemTable,SWT.NONE);
    tableItem.setData(object);
    Item item=object.getItem();
    ERepositoryObjectType itemType=ERepositoryObjectType.getItemType(item);
    tableItem.setImage(getItemsImage(CoreImageProvider.getIcon(itemType)));
    tableItem.setText(item.getProperty().getLabel());
    tableItem.setText(1,object.getOldVersion());
    TableEditor versionEditor=null;
    if (isFixedVersion()) {
      String version=maxVersionText.getText();
      tableItem.setText(2,version);
      if (VersionUtils.compareTo(version,object.getOldVersion()) > 0) {
        tableItem.setForeground(2,redColor);
      }
 else {
        tableItem.setForeground(2,Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
      }
    }
 else {
      versionEditor=new TableEditor(itemTable);
      Composite versionComposit=new Composite(itemTable,SWT.NONE);
      GridLayout layout=new GridLayout(3,false);
      layout.horizontalSpacing=1;
      layout.verticalSpacing=0;
      layout.marginHeight=0;
      layout.marginWidth=0;
      versionComposit.setLayout(layout);
      final Text text=new Text(versionComposit,SWT.BORDER | SWT.READ_ONLY);
      GridData data=new GridData(GridData.FILL_HORIZONTAL);
      text.setLayoutData(data);
      text.setEditable(false);
      text.setText(object.getNewVersion());
      if (VersionUtils.compareTo(object.getNewVersion(),object.getOldVersion()) > 0) {
        text.setForeground(redColor);
      }
 else {
        text.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
      }
      Button tableMajorBtn=new Button(versionComposit,SWT.NONE);
      tableMajorBtn.setText("String_Node_Str");
      tableMajorBtn.setToolTipText(Messages.getString("String_Node_Str"));
      Button tableMinorBtn=new Button(versionComposit,SWT.NONE);
      tableMinorBtn.setText("String_Node_Str");
      tableMinorBtn.setToolTipText(Messages.getString("String_Node_Str"));
      tableMajorBtn.addSelectionListener(new SelectionAdapter(){
        public void widgetSelected(        SelectionEvent e){
          String version=object.getNewVersion();
          version=VersionUtils.upMajor(version);
          text.setText(version);
          text.setForeground(redColor);
          object.setNewVersion(version);
        }
      }
);
      tableMinorBtn.addSelectionListener(new SelectionAdapter(){
        public void widgetSelected(        SelectionEvent e){
          String version=object.getNewVersion();
          version=VersionUtils.upMinor(version);
          text.setText(version);
          text.setForeground(redColor);
          object.setNewVersion(version);
        }
      }
);
      versionEditor.minimumWidth=itemTable.getColumn(2).getWidth();
      versionEditor.setEditor(versionComposit,tableItem,2);
    }
    TableEditor delEditor=new TableEditor(itemTable);
    Label delLabel=new Label(itemTable,SWT.CENTER);
    delLabel.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
    delLabel.setImage(ImageProvider.getImage(EImage.DELETE_ICON));
    delLabel.setToolTipText(Messages.getString("String_Node_Str"));
    delLabel.pack();
    delLabel.addMouseListener(new MouseAdapter(){
      @Override public void mouseDown(      MouseEvent e){
        checkedObjects.remove(object);
        removeTableItem(tableItem);
        refreshCheckedTreeView();
        checkButtonsState();
      }
    }
);
    delEditor.minimumWidth=25;
    delEditor.horizontalAlignment=SWT.CENTER;
    delEditor.setEditor(delLabel,tableItem,3);
    if (isFixedVersion()) {
      tableItem.setData(ITEM_EDITOR_KEY,new TableEditor[]{delEditor});
    }
 else     if (versionEditor != null) {
      tableItem.setData(ITEM_EDITOR_KEY,new TableEditor[]{versionEditor,delEditor});
    }
    itemTable.setRedraw(true);
  }
}

Fixed version (ground truth):
private void addItemElements(List<ItemVersionObject> elements){
  if (elements == null || elements.isEmpty()) {
    return;
  }
  itemTable.setRedraw(false);
  final Color redColor=Display.getDefault().getSystemColor(SWT.COLOR_RED);
  for (  final ItemVersionObject object : elements) {
    final TableItem tableItem=new TableItem(itemTable,SWT.NONE);
    tableItem.setData(object);
    Item item=object.getItem();
    ERepositoryObjectType itemType=ERepositoryObjectType.getItemType(item);
    tableItem.setImage(getItemsImage(CoreImageProvider.getIcon(itemType)));
    tableItem.setText(item.getProperty().getLabel());
    tableItem.setText(1,object.getOldVersion());
    TableEditor versionEditor=null;
    if (isFixedVersion()) {
      String version=maxVersionText.getText();
      tableItem.setText(2,version);
      if (VersionUtils.compareTo(version,object.getOldVersion()) > 0) {
        tableItem.setForeground(2,redColor);
      }
 else {
        tableItem.setForeground(2,Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
      }
    }
 else {
      versionEditor=new TableEditor(itemTable);
      Composite versionComposit=new Composite(itemTable,SWT.NONE);
      GridLayout layout=new GridLayout(3,false);
      layout.horizontalSpacing=1;
      layout.verticalSpacing=0;
      layout.marginHeight=0;
      layout.marginWidth=0;
      versionComposit.setLayout(layout);
      final Text text=new Text(versionComposit,SWT.BORDER | SWT.READ_ONLY);
      GridData data=new GridData(GridData.FILL_HORIZONTAL);
      text.setLayoutData(data);
      text.setEditable(false);
      text.setText(object.getNewVersion());
      if (VersionUtils.compareTo(object.getNewVersion(),object.getOldVersion()) > 0) {
        text.setForeground(redColor);
      }
 else {
        text.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
      }
      Button tableMajorBtn=new Button(versionComposit,SWT.NONE);
      tableMajorBtn.setText("String_Node_Str");
      tableMajorBtn.setToolTipText(Messages.getString("String_Node_Str"));
      Button tableMinorBtn=new Button(versionComposit,SWT.NONE);
      tableMinorBtn.setText("String_Node_Str");
      tableMinorBtn.setToolTipText(Messages.getString("String_Node_Str"));
      tableMajorBtn.addSelectionListener(new SelectionAdapter(){
        public void widgetSelected(        SelectionEvent e){
          String version=object.getNewVersion();
          version=VersionUtils.upMajor(version);
          text.setText(version);
          text.setForeground(redColor);
          object.setNewVersion(version);
        }
      }
);
      tableMinorBtn.addSelectionListener(new SelectionAdapter(){
        public void widgetSelected(        SelectionEvent e){
          String version=object.getNewVersion();
          version=VersionUtils.upMinor(version);
          text.setText(version);
          text.setForeground(redColor);
          object.setNewVersion(version);
        }
      }
);
      versionEditor.minimumWidth=itemTable.getColumn(2).getWidth();
      versionEditor.setEditor(versionComposit,tableItem,2);
    }
    TableEditor delEditor=new TableEditor(itemTable);
    Label delLabel=new Label(itemTable,SWT.CENTER);
    delLabel.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
    delLabel.setImage(ImageProvider.getImage(EImage.DELETE_ICON));
    delLabel.setToolTipText(Messages.getString("String_Node_Str"));
    delLabel.pack();
    delLabel.addMouseListener(new MouseAdapter(){
      @Override public void mouseDown(      MouseEvent e){
        checkedObjects.remove(object);
        removeTableItem(tableItem);
        refreshCheckedTreeView();
        checkButtonsState();
        checkButtonsState(false);
      }
    }
);
    delEditor.minimumWidth=25;
    delEditor.horizontalAlignment=SWT.CENTER;
    delEditor.setEditor(delLabel,tableItem,3);
    if (isFixedVersion()) {
      tableItem.setData(ITEM_EDITOR_KEY,new TableEditor[]{delEditor});
    }
 else     if (versionEditor != null) {
      tableItem.setData(ITEM_EDITOR_KEY,new TableEditor[]{versionEditor,delEditor});
    }
    itemTable.setRedraw(true);
  }
}