Program: 22014
Project: 22014
Buggy source:
/** 
 * TODO use an adjustable Sash to separate the two sections TODO add an XPath version combo widget
 */
public void createControl(Composite parent){
  astFrame=new Composite(parent,SWT.NONE);
  GridLayout mainLayout=new GridLayout(3,false);
  astFrame.setLayout(mainLayout);
  Composite titleArea=new Composite(astFrame,SWT.NONE);
  GridData gridData=new GridData(GridData.FILL_HORIZONTAL);
  gridData.horizontalSpan=2;
  titleArea.setLayoutData(gridData);
  titleArea.setLayout(new GridLayout(4,false));
  Label showLabel=new Label(titleArea,0);
  showLabel.setText("String_Node_Str");
  final Button classBtn=new Button(titleArea,SWT.RADIO);
  classBtn.setText("String_Node_Str");
  classBtn.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent se){
      if (classBtn.getSelection())       showClass();
    }
  }
);
  final Button methodBtn=new Button(titleArea,SWT.RADIO);
  methodBtn.setText("String_Node_Str");
  methodBtn.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent se){
      methodSelector.setEnabled(methodBtn.getSelection());
      methodPicked();
    }
  }
);
  buildMethodSelector(titleArea);
  astViewer=new TreeViewer(astFrame);
  astViewer.setContentProvider(new ASTContentProvider());
  astViewer.setLabelProvider(new ASTLabelProvider());
  setupListeners(astViewer.getTree());
  GridData data=new GridData(GridData.FILL_BOTH);
  data.horizontalSpan=2;
  astViewer.getTree().setLayoutData(data);
  Composite xpathTestPanel=new Composite(astFrame,SWT.NONE);
  data=new GridData(GridData.FILL_BOTH);
  data.horizontalSpan=1;
  xpathTestPanel.setLayoutData(data);
  GridLayout playLayout=new GridLayout(2,false);
  xpathTestPanel.setLayout(playLayout);
  xpathField=new StyledText(xpathTestPanel,SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
  gridData=new GridData(GridData.FILL_BOTH);
  gridData.grabExcessHorizontalSpace=true;
  gridData.horizontalSpan=1;
  xpathField.setLayoutData(gridData);
  SyntaxManager.adapt(xpathField,"String_Node_Str",null);
  addXPathValidator();
  goButton=new Button(xpathTestPanel,SWT.PUSH);
  goButton.setText("String_Node_Str");
  gridData=new GridData(GridData.FILL_BOTH);
  gridData.grabExcessHorizontalSpace=false;
  gridData.horizontalSpan=1;
  goButton.setLayoutData(gridData);
  goButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      evaluateXPath();
    }
  }
);
  outputField=new StyledText(xpathTestPanel,SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
  gridData=new GridData(GridData.FILL_BOTH);
  gridData.grabExcessHorizontalSpace=true;
  gridData.horizontalSpan=2;
  outputField.setLayoutData(gridData);
  SyntaxManager.adapt(outputField,"String_Node_Str",null);
  registerListeners();
  showFirstMethod();
}

Fixed version (ground truth):
/** 
 * TODO use an adjustable Sash to separate the two sections TODO add an XPath version combo widget
 */
public void createControl(Composite parent){
  astFrame=new Composite(parent,SWT.NONE);
  GridLayout mainLayout=new GridLayout(3,false);
  astFrame.setLayout(mainLayout);
  Composite titleArea=new Composite(astFrame,SWT.NONE);
  GridData gridData=new GridData(GridData.FILL_HORIZONTAL);
  gridData.horizontalSpan=2;
  titleArea.setLayoutData(gridData);
  titleArea.setLayout(new GridLayout(4,false));
  Label showLabel=new Label(titleArea,0);
  showLabel.setText("String_Node_Str");
  final Button classBtn=new Button(titleArea,SWT.RADIO);
  classBtn.setText("String_Node_Str");
  classBtn.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent se){
      if (classBtn.getSelection())       showClass();
    }
  }
);
  final Button methodBtn=new Button(titleArea,SWT.RADIO);
  methodBtn.setText("String_Node_Str");
  methodBtn.setSelection(true);
  methodBtn.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent se){
      methodSelector.setEnabled(methodBtn.getSelection());
      methodPicked();
    }
  }
);
  buildMethodSelector(titleArea);
  astViewer=new TreeViewer(astFrame);
  astViewer.setContentProvider(new ASTContentProvider());
  astViewer.setLabelProvider(new ASTLabelProvider());
  setupListeners(astViewer.getTree());
  GridData data=new GridData(GridData.FILL_BOTH);
  data.horizontalSpan=2;
  astViewer.getTree().setLayoutData(data);
  Composite xpathTestPanel=new Composite(astFrame,SWT.NONE);
  data=new GridData(GridData.FILL_BOTH);
  data.horizontalSpan=1;
  xpathTestPanel.setLayoutData(data);
  GridLayout playLayout=new GridLayout(2,false);
  xpathTestPanel.setLayout(playLayout);
  xpathField=new StyledText(xpathTestPanel,SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
  gridData=new GridData(GridData.FILL_BOTH);
  gridData.grabExcessHorizontalSpace=true;
  gridData.horizontalSpan=1;
  xpathField.setLayoutData(gridData);
  SyntaxManager.adapt(xpathField,"String_Node_Str",null);
  addXPathValidator();
  goButton=new Button(xpathTestPanel,SWT.PUSH);
  goButton.setText("String_Node_Str");
  gridData=new GridData(GridData.FILL_BOTH);
  gridData.grabExcessHorizontalSpace=false;
  gridData.horizontalSpan=1;
  goButton.setLayoutData(gridData);
  goButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      evaluateXPath();
    }
  }
);
  outputField=new StyledText(xpathTestPanel,SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
  gridData=new GridData(GridData.FILL_BOTH);
  gridData.grabExcessHorizontalSpace=true;
  gridData.horizontalSpan=2;
  outputField.setLayoutData(gridData);
  SyntaxManager.adapt(outputField,"String_Node_Str",null);
  registerListeners();
  showFirstMethod();
}