Program: 118028
Project: 118028
Buggy source:
@Override protected void addItemElements(List<ItemVersionObject> elements){
  if (elements == null || elements.isEmpty()) {
    return;
  }
  itemTable.setRedraw(false);
  for (  final ItemVersionObject object : elements) {
    final TableItem tableItem=new TableItem(itemTable,SWT.CENTER);
    tableItem.setData(object);
    Item item=object.getItem();
    IBaseLabelProvider labelProvider=treeViewer.getLabelProvider();
    Image itemsImage=null;
    if (labelProvider instanceof NavigatorDecoratingLabelProvider) {
      NavigatorDecoratingLabelProvider navigatorProvider=(NavigatorDecoratingLabelProvider)labelProvider;
      itemsImage=navigatorProvider.getImage(object.getRepositoryNode());
    }
 else {
      ERepositoryObjectType itemType=ERepositoryObjectType.getItemType(item);
      itemsImage=getItemsImage(CoreImageProvider.getIcon(itemType));
    }
    tableItem.setImage(itemsImage);
    tableItem.setText(item.getProperty().getLabel());
    tableItem.setText(1,MavenVersionUtils.getItemMavenVersion(item.getProperty()));
    TableEditor versionEditor=null;
    if (fixedVersionButton.getSelection()) {
      tableItem.setText(2,appliedFixedVersion);
    }
 else     if (useJobVersionButton.getSelection()) {
      tableItem.setText(2,item.getProperty().getVersion());
    }
 else {
      versionEditor=new TableEditor(itemTable);
      Composite versionComposite=new Composite(itemTable,SWT.NONE);
      GridLayout layout=new GridLayout(1,false);
      layout.marginHeight=0;
      layout.marginWidth=0;
      layout.marginLeft=0;
      layout.marginRight=1;
      versionComposite.setLayout(layout);
      final Text text=new Text(versionComposite,SWT.CENTER | SWT.BORDER);
      GridData data=new GridData(GridData.FILL_BOTH);
      text.setLayoutData(data);
      String newVersion=object.getNewVersion();
      if (newVersion == null || "String_Node_Str".equals(newVersion.trim())) {
        newVersion=appliedFixedVersion;
      }
      text.setText(newVersion);
      checkVersionPattern(tableItem,newVersion);
      text.addModifyListener(new ModifyListener(){
        @Override public void modifyText(        ModifyEvent e){
          String version=text.getText();
          checkVersionPattern(tableItem,version);
          object.setNewVersion(version);
        }
      }
);
      versionEditor.minimumWidth=itemTable.getColumn(2).getWidth();
      versionEditor.setEditor(versionComposite,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 (fixedVersionButton.getSelection() || useJobVersionButton.getSelection()) {
      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):
@Override protected void addItemElements(List<ItemVersionObject> elements){
  if (elements == null || elements.isEmpty()) {
    return;
  }
  itemTable.setRedraw(false);
  for (  final ItemVersionObject object : elements) {
    final TableItem tableItem=new TableItem(itemTable,SWT.CENTER);
    tableItem.setData(object);
    Item item=object.getItem();
    IBaseLabelProvider labelProvider=treeViewer.getLabelProvider();
    Image itemsImage=null;
    if (labelProvider instanceof NavigatorDecoratingLabelProvider) {
      NavigatorDecoratingLabelProvider navigatorProvider=(NavigatorDecoratingLabelProvider)labelProvider;
      itemsImage=navigatorProvider.getImage(object.getRepositoryNode());
    }
 else {
      ERepositoryObjectType itemType=ERepositoryObjectType.getItemType(item);
      itemsImage=getItemsImage(CoreImageProvider.getIcon(itemType));
    }
    tableItem.setImage(itemsImage);
    tableItem.setText(item.getProperty().getLabel());
    tableItem.setText(1,MavenVersionUtils.getItemMavenVersion(item.getProperty()));
    TableEditor versionEditor=null;
    if (fixedVersionButton.getSelection()) {
      tableItem.setText(2,appliedFixedVersion);
    }
 else     if (useJobVersionButton.getSelection()) {
      tableItem.setText(2,item.getProperty().getVersion());
      object.setNewVersion(item.getProperty().getVersion());
    }
 else {
      versionEditor=new TableEditor(itemTable);
      Composite versionComposite=new Composite(itemTable,SWT.NONE);
      GridLayout layout=new GridLayout(1,false);
      layout.marginHeight=0;
      layout.marginWidth=0;
      layout.marginLeft=0;
      layout.marginRight=1;
      versionComposite.setLayout(layout);
      final Text text=new Text(versionComposite,SWT.CENTER | SWT.BORDER);
      GridData data=new GridData(GridData.FILL_BOTH);
      text.setLayoutData(data);
      String newVersion=object.getNewVersion();
      if (newVersion == null || "String_Node_Str".equals(newVersion.trim())) {
        newVersion=appliedFixedVersion;
        object.setNewVersion(newVersion);
      }
      text.setText(newVersion);
      checkVersionPattern(tableItem,newVersion);
      text.addModifyListener(new ModifyListener(){
        @Override public void modifyText(        ModifyEvent e){
          String version=text.getText();
          checkVersionPattern(tableItem,version);
          object.setNewVersion(version);
          checkValid();
        }
      }
);
      versionEditor.minimumWidth=itemTable.getColumn(2).getWidth();
      versionEditor.setEditor(versionComposite,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 (fixedVersionButton.getSelection() || useJobVersionButton.getSelection()) {
      tableItem.setData(ITEM_EDITOR_KEY,new TableEditor[]{delEditor});
    }
 else     if (versionEditor != null) {
      tableItem.setData(ITEM_EDITOR_KEY,new TableEditor[]{versionEditor,delEditor});
    }
    itemTable.setRedraw(true);
  }
}