Program: 67510
Project: 67510
Buggy source:
/** 
 * Create composite of sort area.
 * @param cmpBasic
 */
public void createSortArea(Composite parent){
  cmpSortArea=new Group(parent,SWT.NONE);
{
    cmpSortArea.setText(Messages.getString("String_Node_Str"));
    cmpSortArea.setLayout(new GridLayout(3,false));
    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan=2;
    gd.widthHint=300;
    cmpSortArea.setLayoutData(gd);
  }
  lblSorting=new Label(cmpSortArea,SWT.NONE);
  lblSorting.setText(Messages.getString("String_Node_Str"));
  cmbSorting=new Combo(cmpSortArea,SWT.DROP_DOWN | SWT.READ_ONLY);
  GridData gdCMBSorting=new GridData(GridData.FILL_HORIZONTAL);
  cmbSorting.setLayoutData(gdCMBSorting);
  cmbSorting.addListener(SWT.Selection,this);
  new Label(cmpSortArea,SWT.NONE);
  lblSortExpr=new Label(cmpSortArea,SWT.NONE);
  lblSortExpr.setText(Messages.getString("String_Node_Str"));
  cmbSortExpr=new Combo(cmpSortArea,SWT.DROP_DOWN);
  GridData gdCMBSortExpr=new GridData(GridData.FILL_HORIZONTAL);
  cmbSortExpr.setLayoutData(gdCMBSortExpr);
  cmbSortExpr.addListener(SWT.Selection,this);
  cmbSortExpr.addFocusListener(new FocusAdapter(){
    public void focusLost(    FocusEvent e){
      updateSortKey();
    }
  }
);
  try {
    btnSortExprBuilder=(IExpressionButton)wizardContext.getUIServiceProvider().invoke(IUIServiceProvider.Command.EXPRESS_BUTTON_CREATE,cmpSortArea,cmbSortExpr,wizardContext.getExtendedItem(),IUIServiceProvider.COMMAND_EXPRESSION_DATA_BINDINGS,null);
    Query query=getSeriesDefinitionForProcessing().getSortKey();
    if (query != null) {
      btnSortExprBuilder.setExpression(query.getDefinition());
    }
  }
 catch (  ChartException e) {
    WizardBase.displayException(e);
  }
  lblSortLocale=new Label(cmpSortArea,SWT.NONE);
  lblSortLocale.setText(Messages.getString("String_Node_Str"));
  cmbSortLocale=new Combo(cmpSortArea,SWT.READ_ONLY | SWT.BORDER);
  GridData gd=new GridData(GridData.FILL_HORIZONTAL);
  cmbSortLocale.setLayoutData(gd);
  cmbSortLocale.setVisibleItemCount(30);
  cmbSortLocale.addListener(SWT.Selection,this);
  new Label(cmpSortArea,SWT.NONE);
  lblSortStrength=new Label(cmpSortArea,SWT.NONE);
  lblSortStrength.setText(Messages.getString("String_Node_Str"));
  cmbSortStrength=new Combo(cmpSortArea,SWT.READ_ONLY | SWT.BORDER);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  cmbSortStrength.setLayoutData(gd);
  cmbSortStrength.setVisibleItemCount(30);
  cmbSortStrength.addListener(SWT.Selection,this);
  if (isInheritColumnsGroups()) {
    disableSorting();
  }
}

Fixed version (ground truth):
/** 
 * Create composite of sort area.
 * @param cmpBasic
 */
public void createSortArea(Composite parent){
  cmpSortArea=new Group(parent,SWT.NONE);
{
    cmpSortArea.setText(Messages.getString("String_Node_Str"));
    cmpSortArea.setLayout(new GridLayout(3,false));
    GridData gd=new GridData(GridData.FILL_HORIZONTAL);
    gd.horizontalSpan=2;
    gd.widthHint=300;
    cmpSortArea.setLayoutData(gd);
  }
  lblSorting=new Label(cmpSortArea,SWT.NONE);
  lblSorting.setText(Messages.getString("String_Node_Str"));
  cmbSorting=new Combo(cmpSortArea,SWT.DROP_DOWN | SWT.READ_ONLY);
  GridData gdCMBSorting=new GridData(GridData.FILL_HORIZONTAL);
  cmbSorting.setLayoutData(gdCMBSorting);
  cmbSorting.addListener(SWT.Selection,this);
  new Label(cmpSortArea,SWT.NONE);
  lblSortExpr=new Label(cmpSortArea,SWT.NONE);
  lblSortExpr.setText(Messages.getString("String_Node_Str"));
  cmbSortExpr=new Combo(cmpSortArea,SWT.DROP_DOWN);
  GridData gdCMBSortExpr=new GridData(GridData.FILL_HORIZONTAL);
  cmbSortExpr.setLayoutData(gdCMBSortExpr);
  cmbSortExpr.addListener(SWT.Selection,this);
  cmbSortExpr.addFocusListener(new FocusAdapter(){
    public void focusLost(    FocusEvent e){
      updateSortKey();
    }
  }
);
  try {
    btnSortExprBuilder=(IExpressionButton)wizardContext.getUIServiceProvider().invoke(IUIServiceProvider.Command.EXPRESS_BUTTON_CREATE,cmpSortArea,cmbSortExpr,wizardContext.getExtendedItem(),IUIServiceProvider.COMMAND_EXPRESSION_DATA_BINDINGS,new Listener(){
      public void handleEvent(      Event event){
        if (event.data instanceof String[]) {
          handleBuilderAction((String[])event.data);
        }
      }
    }
);
    Query query=getSeriesDefinitionForProcessing().getSortKey();
    if (query != null) {
      btnSortExprBuilder.setExpression(query.getDefinition());
    }
  }
 catch (  ChartException e) {
    WizardBase.displayException(e);
  }
  lblSortLocale=new Label(cmpSortArea,SWT.NONE);
  lblSortLocale.setText(Messages.getString("String_Node_Str"));
  cmbSortLocale=new Combo(cmpSortArea,SWT.READ_ONLY | SWT.BORDER);
  GridData gd=new GridData(GridData.FILL_HORIZONTAL);
  cmbSortLocale.setLayoutData(gd);
  cmbSortLocale.setVisibleItemCount(30);
  cmbSortLocale.addListener(SWT.Selection,this);
  new Label(cmpSortArea,SWT.NONE);
  lblSortStrength=new Label(cmpSortArea,SWT.NONE);
  lblSortStrength.setText(Messages.getString("String_Node_Str"));
  cmbSortStrength=new Combo(cmpSortArea,SWT.READ_ONLY | SWT.BORDER);
  gd=new GridData(GridData.FILL_HORIZONTAL);
  cmbSortStrength.setLayoutData(gd);
  cmbSortStrength.setVisibleItemCount(30);
  cmbSortStrength.addListener(SWT.Selection,this);
  if (isInheritColumnsGroups()) {
    disableSorting();
  }
}