Program: 102124
Project: 102124
Buggy source:
private Composite createUniqueConstraintPanel(Composite parent){
  Composite thePanel=WidgetFactory.createPanel(parent,SWT.NONE,1,2);
  GridLayoutFactory.fillDefaults().numColumns(2).margins(10,10).applyTo(thePanel);
  GridDataFactory.fillDefaults().grab(true,true).applyTo(thePanel);
  this.includeUniqueConstraintCB=new Button(thePanel,SWT.CHECK | SWT.RIGHT);
  GridDataFactory.fillDefaults().align(SWT.LEFT,SWT.CENTER).span(2,1).applyTo(this.includeUniqueConstraintCB);
  this.includeUniqueConstraintCB.setText(UILabelUtil.getLabel(UiLabelConstants.LABEL_IDS.INCLUDE));
  this.includeUniqueConstraintCB.addSelectionListener(new SelectionAdapter(){
    /** 
 * {@inheritDoc}
 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
 */
    @Override public void widgetSelected(    SelectionEvent e){
      if (includeUniqueConstraintCB.getSelection()) {
        if (getRelationalReference().getUniqueContraint() == null) {
          RelationalUniqueConstraint key=new RelationalUniqueConstraint();
          if (uniqueConstraintNameText.getText() != null) {
            key.setName(uniqueConstraintNameText.getText());
          }
          getRelationalReference().setUniqueConstraint(key);
        }
      }
 else {
        getRelationalReference().setUniqueConstraint(null);
      }
      handleInfoChanged();
    }
  }
);
  Label label=new Label(thePanel,SWT.NONE | SWT.RIGHT);
  label.setText(UILabelUtil.getLabel(UiLabelConstants.LABEL_IDS.NAME));
  GridDataFactory.fillDefaults().applyTo(label);
  this.uniqueConstraintNameText=new Text(thePanel,SWT.BORDER | SWT.SINGLE);
  this.uniqueConstraintNameText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE));
  GridDataFactory.fillDefaults().applyTo(this.uniqueConstraintNameText);
  this.uniqueConstraintNameText.addModifyListener(new ModifyListener(){
    @Override public void modifyText(    final ModifyEvent event){
      String value=uniqueConstraintNameText.getText();
      if (value == null) {
        value=EMPTY_STRING;
      }
      if (getRelationalReference().getUniqueContraint() != null) {
        RelationalUniqueConstraint key=getRelationalReference().getUniqueContraint();
        key.setName(value);
      }
      handleInfoChanged();
    }
  }
);
  label=new Label(thePanel,SWT.NONE | SWT.RIGHT);
  label.setText(Messages.nameInSourceLabel);
  GridDataFactory.fillDefaults().applyTo(label);
  this.uniqueConstraintNISText=new Text(thePanel,SWT.BORDER | SWT.SINGLE);
  this.uniqueConstraintNISText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE));
  GridDataFactory.fillDefaults().applyTo(this.uniqueConstraintNISText);
  this.uniqueConstraintNISText.addModifyListener(new ModifyListener(){
    @Override public void modifyText(    final ModifyEvent event){
      String value=uniqueConstraintNISText.getText();
      if (value == null) {
        value=EMPTY_STRING;
      }
      if (getRelationalReference().getUniqueContraint() != null) {
        RelationalUniqueConstraint key=getRelationalReference().getUniqueContraint();
        key.setNameInSource(value);
      }
      handleInfoChanged();
    }
  }
);
  Composite buttonPanel=new Composite(thePanel,SWT.NONE);
  GridLayoutFactory.fillDefaults().applyTo(buttonPanel);
  GridDataFactory.fillDefaults().align(SWT.LEFT,SWT.BEGINNING).applyTo(buttonPanel);
  this.changeUcColumnsButton=new Button(buttonPanel,SWT.PUSH);
  this.changeUcColumnsButton.setText(UILabelUtil.getLabel(UiLabelConstants.LABEL_IDS.CHANGE_ELIPSIS));
  GridDataFactory.fillDefaults().applyTo(this.changeUcColumnsButton);
  this.changeUcColumnsButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      SelectColumnsDialog dialog=new SelectColumnsDialog(getShell(),getRelationalReference(),false);
      int result=dialog.open();
      if (result == Window.OK) {
        Collection<RelationalColumn> selectedColumns=dialog.getSelectedColumns();
        if (!selectedColumns.isEmpty()) {
          getRelationalReference().getUniqueContraint().setColumns(selectedColumns);
        }
 else {
          getRelationalReference().getUniqueContraint().setColumns(Collections.EMPTY_LIST);
        }
      }
      handleInfoChanged();
    }
  }
);
  Table columnTable=new Table(thePanel,SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL| SWT.BORDER);
  columnTable.setHeaderVisible(true);
  columnTable.setLinesVisible(true);
  columnTable.setLayout(new TableLayout());
  this.ucColumnsViewer=new TableViewer(columnTable);
  GridDataFactory.fillDefaults().grab(true,false).hint(SWT.DEFAULT,100).applyTo(this.ucColumnsViewer.getControl());
  TableViewerColumn column=new TableViewerColumn(this.ucColumnsViewer,SWT.LEFT);
  column.getColumn().setText(Messages.columnNameLabel);
  column.setLabelProvider(new ColumnDataLabelProvider(0));
  column.getColumn().pack();
  if (getRelationalReference() != null && getRelationalReference().getUniqueContraint() != null) {
    for (    RelationalColumn row : this.getRelationalReference().getUniqueContraint().getColumns()) {
      this.ucColumnsViewer.add(row);
    }
  }
  return thePanel;
}

Fixed version (ground truth):
private Composite createUniqueConstraintPanel(Composite parent){
  Composite thePanel=WidgetFactory.createPanel(parent,SWT.NONE,1,2);
  GridLayoutFactory.fillDefaults().numColumns(2).margins(10,10).applyTo(thePanel);
  GridDataFactory.fillDefaults().grab(true,true).applyTo(thePanel);
  this.includeUniqueConstraintCB=new Button(thePanel,SWT.CHECK | SWT.RIGHT);
  GridDataFactory.fillDefaults().align(SWT.LEFT,SWT.CENTER).span(2,1).applyTo(this.includeUniqueConstraintCB);
  this.includeUniqueConstraintCB.setText(UILabelUtil.getLabel(UiLabelConstants.LABEL_IDS.INCLUDE));
  this.includeUniqueConstraintCB.addSelectionListener(new SelectionAdapter(){
    /** 
 * {@inheritDoc}
 * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
 */
    @Override public void widgetSelected(    SelectionEvent e){
      if (includeUniqueConstraintCB.getSelection()) {
        if (getRelationalReference().getUniqueContraint() == null) {
          RelationalUniqueConstraint key=new RelationalUniqueConstraint();
          if (uniqueConstraintNameText.getText() != null) {
            key.setName(uniqueConstraintNameText.getText());
          }
          getRelationalReference().setUniqueConstraint(key);
        }
      }
 else {
        getRelationalReference().setUniqueConstraint(null);
      }
      handleInfoChanged();
    }
  }
);
  Label label=new Label(thePanel,SWT.NONE | SWT.RIGHT);
  label.setText(UILabelUtil.getLabel(UiLabelConstants.LABEL_IDS.NAME));
  GridDataFactory.fillDefaults().applyTo(label);
  this.uniqueConstraintNameText=new Text(thePanel,SWT.BORDER | SWT.SINGLE);
  this.uniqueConstraintNameText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE));
  GridDataFactory.fillDefaults().applyTo(this.uniqueConstraintNameText);
  this.uniqueConstraintNameText.addModifyListener(new ModifyListener(){
    @Override public void modifyText(    final ModifyEvent event){
      String value=uniqueConstraintNameText.getText();
      if (value == null) {
        value=EMPTY_STRING;
      }
      if (getRelationalReference().getUniqueContraint() != null) {
        RelationalUniqueConstraint key=getRelationalReference().getUniqueContraint();
        key.setName(value);
      }
      handleInfoChanged();
    }
  }
);
  label=new Label(thePanel,SWT.NONE | SWT.RIGHT);
  label.setText(Messages.nameInSourceLabel);
  GridDataFactory.fillDefaults().applyTo(label);
  this.uniqueConstraintNISText=new Text(thePanel,SWT.BORDER | SWT.SINGLE);
  this.uniqueConstraintNISText.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_BLUE));
  GridDataFactory.fillDefaults().applyTo(this.uniqueConstraintNISText);
  this.uniqueConstraintNISText.addModifyListener(new ModifyListener(){
    @Override public void modifyText(    final ModifyEvent event){
      String value=uniqueConstraintNISText.getText();
      if (value == null) {
        value=EMPTY_STRING;
      }
      if (getRelationalReference().getUniqueContraint() != null) {
        RelationalUniqueConstraint key=getRelationalReference().getUniqueContraint();
        key.setNameInSource(value);
      }
      handleInfoChanged();
    }
  }
);
  Composite buttonPanel=new Composite(thePanel,SWT.NONE);
  GridLayoutFactory.fillDefaults().applyTo(buttonPanel);
  GridDataFactory.fillDefaults().align(SWT.LEFT,SWT.BEGINNING).applyTo(buttonPanel);
  this.changeUcColumnsButton=new Button(buttonPanel,SWT.PUSH);
  this.changeUcColumnsButton.setText(UILabelUtil.getLabel(UiLabelConstants.LABEL_IDS.CHANGE_ELIPSIS));
  GridDataFactory.fillDefaults().applyTo(this.changeUcColumnsButton);
  this.changeUcColumnsButton.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      SelectColumnsDialog dialog=new SelectColumnsDialog(getShell(),getRelationalReference(),false);
      int result=dialog.open();
      if (result == Window.OK) {
        Collection<RelationalColumn> selectedColumns=dialog.getSelectedColumns();
        if (!selectedColumns.isEmpty()) {
          getRelationalReference().getUniqueContraint().setColumns(selectedColumns);
        }
 else {
          getRelationalReference().getUniqueContraint().setColumns(Collections.EMPTY_LIST);
        }
      }
      handleInfoChanged();
    }
  }
);
  Table columnTable=new Table(thePanel,SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL| SWT.BORDER);
  columnTable.setHeaderVisible(true);
  columnTable.setLinesVisible(true);
  columnTable.setLayout(new TableLayout());
  this.ucColumnsViewer=new TableViewer(columnTable);
  GridDataFactory.fillDefaults().grab(true,true).hint(SWT.DEFAULT,100).applyTo(this.ucColumnsViewer.getControl());
  TableViewerColumn column=new TableViewerColumn(this.ucColumnsViewer,SWT.LEFT);
  column.getColumn().setText(Messages.columnNameLabel);
  column.setLabelProvider(new ColumnDataLabelProvider(0));
  column.getColumn().pack();
  if (getRelationalReference() != null && getRelationalReference().getUniqueContraint() != null) {
    for (    RelationalColumn row : this.getRelationalReference().getUniqueContraint().getColumns()) {
      this.ucColumnsViewer.add(row);
    }
  }
  return thePanel;
}