Program: 62284
Project: 62284
Buggy source:
/** 
 * @wbp.parser.entryPoint
 */
@Override protected void initData(Composite dataComposite){
  grpValues=new Group(dataComposite,SWT.NONE);
  grpValues.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,4,1));
  grpValues.setText(RedisClient.i18nFile.getText(I18nFile.VALUES));
  grpValues.setLayout(new GridLayout(4,false));
  table=new Table(grpValues,SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI| SWT.VIRTUAL);
  table.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,3,3));
  table.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      tableItemSelected();
    }
  }
);
  table.setLinesVisible(true);
  table.addListener(SWT.MouseDown,new EditListener(table,false));
  pageListener=new PagingListener(table,new SetPage(id,db,key));
  table.addListener(SWT.SetData,pageListener);
  TableColumn tblclmnNewColumn=new TableColumn(table,SWT.NONE);
  tblclmnNewColumn.setWidth(200);
  btnAdd=new Button(grpValues,SWT.NONE);
  btnAdd.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false,1,1));
  btnAdd.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      InputDialog inputDialog=new InputDialog(shell.getParent().getShell(),RedisClient.i18nFile.getText(I18nFile.INPUTVALUES),RedisClient.i18nFile.getText(I18nFile.LISTINPUTFORMAT),"String_Node_Str",null);
      if (inputDialog.open() == InputDialog.OK) {
        String values=inputDialog.getValue();
        String[] setValues=values.split("String_Node_Str");
        long size=service.addValues(id,db,key,setValues);
        if (size == 0)         MessageDialog.openInformation(shell.getParent().getShell(),RedisClient.i18nFile.getText(I18nFile.INPUTVALUES),RedisClient.i18nFile.getText(I18nFile.ADDSETVALUES));
        refresh();
      }
    }
  }
);
  btnAdd.setText(RedisClient.i18nFile.getText(I18nFile.ADD));
  btnDelete=new Button(grpValues,SWT.NONE);
  btnDelete.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false,1,1));
  btnDelete.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      Set<String> values=new HashSet<String>();
      TableItem[] items=table.getSelection();
      for (      TableItem item : items) {
        values.add(item.getText());
      }
      service.remove(id,db,key,values);
      for (      TableItem item : items) {
        item.dispose();
      }
      tableItemSelected();
    }
  }
);
  btnDelete.setEnabled(false);
  btnDelete.setText(RedisClient.i18nFile.getText(I18nFile.DELETE));
  btnRefresh=new Button(grpValues,SWT.NONE);
  btnRefresh.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      refresh();
    }
  }
);
  btnRefresh.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false,1,1));
  btnRefresh.setText(RedisClient.i18nFile.getText(I18nFile.REFRESH));
}

Fixed version (ground truth):
/** 
 * @wbp.parser.entryPoint
 */
@Override protected void initData(Composite dataComposite){
  grpValues=new Group(dataComposite,SWT.NONE);
  grpValues.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,4,1));
  grpValues.setText(RedisClient.i18nFile.getText(I18nFile.VALUES));
  grpValues.setLayout(new GridLayout(4,false));
  table=new Table(grpValues,SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI| SWT.VIRTUAL);
  table.setHeaderVisible(true);
  table.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,3,3));
  table.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      tableItemSelected();
    }
  }
);
  table.setLinesVisible(true);
  table.addListener(SWT.MouseDown,new EditListener(table,false));
  pageListener=new PagingListener(table,new SetPage(id,db,key));
  table.addListener(SWT.SetData,pageListener);
  tblclmnNewColumn=new TableColumn(table,SWT.NONE);
  tblclmnNewColumn.setText(RedisClient.i18nFile.getText(I18nFile.VALUE));
  tblclmnNewColumn.setWidth(200);
  btnAdd=new Button(grpValues,SWT.NONE);
  btnAdd.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false,1,1));
  btnAdd.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      InputDialog inputDialog=new InputDialog(shell.getParent().getShell(),RedisClient.i18nFile.getText(I18nFile.INPUTVALUES),RedisClient.i18nFile.getText(I18nFile.LISTINPUTFORMAT),"String_Node_Str",null);
      if (inputDialog.open() == InputDialog.OK) {
        String values=inputDialog.getValue();
        String[] setValues=values.split("String_Node_Str");
        long size=service.addValues(id,db,key,setValues);
        if (size == 0)         MessageDialog.openInformation(shell.getParent().getShell(),RedisClient.i18nFile.getText(I18nFile.INPUTVALUES),RedisClient.i18nFile.getText(I18nFile.ADDSETVALUES));
        refresh();
      }
    }
  }
);
  btnAdd.setText(RedisClient.i18nFile.getText(I18nFile.ADD));
  btnDelete=new Button(grpValues,SWT.NONE);
  btnDelete.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false,1,1));
  btnDelete.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      Set<String> values=new HashSet<String>();
      TableItem[] items=table.getSelection();
      for (      TableItem item : items) {
        values.add(item.getText());
      }
      service.remove(id,db,key,values);
      for (      TableItem item : items) {
        item.dispose();
      }
      tableItemSelected();
    }
  }
);
  btnDelete.setEnabled(false);
  btnDelete.setText(RedisClient.i18nFile.getText(I18nFile.DELETE));
  btnRefresh=new Button(grpValues,SWT.NONE);
  btnRefresh.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      refresh();
    }
  }
);
  btnRefresh.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false,1,1));
  btnRefresh.setText(RedisClient.i18nFile.getText(I18nFile.REFRESH));
}