Program: 21998
Project: 21998
Buggy source:
/** 
 * Build the group of priority preferences
 * @param parent the parent composite
 * @return the group widget
 */
private Group buildPriorityGroup(final Composite parent){
  Group group=new Group(parent,SWT.SHADOW_IN);
  group.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_GROUP_PRIORITIES));
  group.setLayout(new GridLayout(1,false));
  Link link=new Link(group,SWT.None);
  link.setText("String_Node_Str");
  link.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent se){
      System.out.println("String_Node_Str" + se.text);
    }
  }
);
  IStructuredContentProvider contentProvider=new IStructuredContentProvider(){
    public void dispose(){
    }
    public void inputChanged(    Viewer viewer,    Object oldInput,    Object newInput){
    }
    public Object[] getElements(    Object inputElement){
      return (RulePriority[])inputElement;
    }
  }
;
  PriorityTableLabelProvider labelProvider=new PriorityTableLabelProvider(PriorityColumnDescriptor.VisibleColumns);
  tableViewer=new TableViewer(group,SWT.BORDER | SWT.MULTI);
  Table table=tableViewer.getTable();
  table.setLayoutData(new GridData(GridData.BEGINNING,GridData.CENTER,true,true));
  tableViewer.setLabelProvider(labelProvider);
  tableViewer.setContentProvider(contentProvider);
  table.setHeaderVisible(true);
  labelProvider.addColumnsTo(table);
  tableViewer.setInput(UISettings.currentPriorities(true));
  TableColumn[] columns=table.getColumns();
  for (  TableColumn column : columns)   column.pack();
  GridData data=new GridData();
  data.horizontalAlignment=GridData.FILL;
  data.grabExcessHorizontalSpace=true;
  table.setLayoutData(data);
  Composite editorPanel=new Composite(group,SWT.None);
  editorPanel.setLayoutData(new GridData(GridData.FILL,GridData.CENTER,true,true));
  editorPanel.setLayout(new GridLayout(6,false));
  Label shapeLabel=new Label(editorPanel,SWT.None);
  shapeLabel.setLayoutData(new GridData());
  shapeLabel.setText("String_Node_Str");
  final ShapePicker<Shape> ssc=new ShapePicker<Shape>(editorPanel,SWT.None,14);
  ssc.setLayoutData(new GridData(SWT.LEFT,SWT.CENTER,true,false,1,1));
  ssc.setSize(280,30);
  ssc.setShapeMap(UISettings.shapeSet(SHAPE_COLOR,10));
  ssc.setItems(UISettings.allShapes());
  Label colourLabel=new Label(editorPanel,SWT.None);
  colourLabel.setLayoutData(new GridData());
  colourLabel.setText("String_Node_Str");
  final ColorSelector colorPicker=new ColorSelector(editorPanel);
  Label nameLabel=new Label(editorPanel,SWT.None);
  nameLabel.setLayoutData(new GridData());
  nameLabel.setText("String_Node_Str");
  final Text priorityName=new Text(editorPanel,SWT.BORDER);
  priorityName.setLayoutData(new GridData(GridData.FILL,GridData.CENTER,true,true));
  final Label descLabel=new Label(editorPanel,SWT.None);
  descLabel.setLayoutData(new GridData(GridData.FILL,GridData.CENTER,false,true,1,1));
  descLabel.setText("String_Node_Str");
  final Text priorityDesc=new Text(editorPanel,SWT.BORDER);
  priorityDesc.setLayoutData(new GridData(GridData.FILL,GridData.CENTER,true,true,5,1));
  tableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      IStructuredSelection selection=(IStructuredSelection)event.getSelection();
      selectedPriorities(selection.toList(),ssc,colorPicker,priorityName);
    }
  }
);
  ssc.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      IStructuredSelection selection=(IStructuredSelection)event.getSelection();
      setShape((Shape)selection.getFirstElement());
    }
  }
);
  colorPicker.addListener(new IPropertyChangeListener(){
    public void propertyChange(    PropertyChangeEvent event){
      setColor((RGB)event.getNewValue());
    }
  }
);
  priorityName.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent me){
      setName(priorityName.getText());
    }
  }
);
  return group;
}

Fixed version (ground truth):
/** 
 * Build the group of priority preferences
 * @param parent the parent composite
 * @return the group widget
 */
private Group buildPriorityGroup(final Composite parent){
  Group group=new Group(parent,SWT.SHADOW_IN);
  group.setText(getMessage(StringKeys.MSGKEY_PREF_GENERAL_GROUP_PRIORITIES));
  group.setLayout(new GridLayout(1,false));
  Link link=new Link(group,SWT.None);
  link.setText("String_Node_Str");
  link.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent se){
      PreferenceDialog pref=PreferencesUtil.createPreferenceDialogOn(getShell(),"String_Node_Str",new String[]{},null);
      if (pref != null) {
        pref.open();
      }
    }
  }
);
  IStructuredContentProvider contentProvider=new IStructuredContentProvider(){
    public void dispose(){
    }
    public void inputChanged(    Viewer viewer,    Object oldInput,    Object newInput){
    }
    public Object[] getElements(    Object inputElement){
      return (RulePriority[])inputElement;
    }
  }
;
  PriorityTableLabelProvider labelProvider=new PriorityTableLabelProvider(PriorityColumnDescriptor.VisibleColumns);
  tableViewer=new TableViewer(group,SWT.BORDER | SWT.MULTI);
  Table table=tableViewer.getTable();
  table.setLayoutData(new GridData(GridData.BEGINNING,GridData.CENTER,true,true));
  tableViewer.setLabelProvider(labelProvider);
  tableViewer.setContentProvider(contentProvider);
  table.setHeaderVisible(true);
  labelProvider.addColumnsTo(table);
  tableViewer.setInput(UISettings.currentPriorities(true));
  TableColumn[] columns=table.getColumns();
  for (  TableColumn column : columns)   column.pack();
  GridData data=new GridData();
  data.horizontalAlignment=GridData.FILL;
  data.grabExcessHorizontalSpace=true;
  table.setLayoutData(data);
  Composite editorPanel=new Composite(group,SWT.None);
  editorPanel.setLayoutData(new GridData(GridData.FILL,GridData.CENTER,true,true));
  editorPanel.setLayout(new GridLayout(6,false));
  Label shapeLabel=new Label(editorPanel,SWT.None);
  shapeLabel.setLayoutData(new GridData());
  shapeLabel.setText("String_Node_Str");
  final ShapePicker<Shape> ssc=new ShapePicker<Shape>(editorPanel,SWT.None,14);
  ssc.setLayoutData(new GridData(SWT.LEFT,SWT.CENTER,true,false,1,1));
  ssc.setSize(280,30);
  ssc.setShapeMap(UISettings.shapeSet(SHAPE_COLOR,10));
  ssc.setItems(UISettings.allShapes());
  Label colourLabel=new Label(editorPanel,SWT.None);
  colourLabel.setLayoutData(new GridData());
  colourLabel.setText("String_Node_Str");
  final ColorSelector colorPicker=new ColorSelector(editorPanel);
  Label nameLabel=new Label(editorPanel,SWT.None);
  nameLabel.setLayoutData(new GridData());
  nameLabel.setText("String_Node_Str");
  final Text priorityName=new Text(editorPanel,SWT.BORDER);
  priorityName.setLayoutData(new GridData(GridData.FILL,GridData.CENTER,true,true));
  tableViewer.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      IStructuredSelection selection=(IStructuredSelection)event.getSelection();
      selectedPriorities(selection.toList(),ssc,colorPicker,priorityName);
    }
  }
);
  ssc.addSelectionChangedListener(new ISelectionChangedListener(){
    public void selectionChanged(    SelectionChangedEvent event){
      IStructuredSelection selection=(IStructuredSelection)event.getSelection();
      setShape((Shape)selection.getFirstElement());
    }
  }
);
  colorPicker.addListener(new IPropertyChangeListener(){
    public void propertyChange(    PropertyChangeEvent event){
      setColor((RGB)event.getNewValue());
    }
  }
);
  priorityName.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent me){
      setName(priorityName.getText());
    }
  }
);
  return group;
}