Program: 136894
Project: 136894
Buggy source:
public ModelElementIndicator[] openIndicatorSelectDialog(Shell shell){
  String whereExpression=AnalysisHelper.getStringDataFilter(this.getAnalysis());
  final IndicatorSelectDialog dialog=new IndicatorSelectDialog(shell,DefaultMessagesImpl.getString("String_Node_Str"),masterPage.getCurrentModelElementIndicators(),whereExpression);
  dialog.setLimitNumber(this.masterPage.getPreviewLimit());
  dialog.create();
  if (!DQPreferenceManager.isBlockWeb()) {
    dialog.getShell().addShellListener(new ShellAdapter(){
      @Override public void shellActivated(      ShellEvent e){
        dialog.getShell().setFocus();
        IContext context=HelpSystem.getContext(HelpPlugin.getDefault().getIndicatorSelectorHelpContextID());
        PlatformUI.getWorkbench().getHelpSystem().displayHelp(context);
      }
    }
);
    dialog.getShell().addHelpListener(new HelpListener(){
      public void helpRequested(      HelpEvent e){
        IContext context=HelpSystem.getContext(HelpPlugin.getDefault().getIndicatorSelectorHelpContextID());
        PlatformUI.getWorkbench().getHelpSystem().displayHelp(context);
      }
    }
);
  }
  if (dialog.checkWhereClause() && dialog.open() == Window.OK) {
    ModelElementIndicator[] result=dialog.getResult();
    for (    ModelElementIndicator modelElementIndicator : result) {
      modelElementIndicator.storeTempIndicator();
    }
    return result;
  }
 else {
    ModelElementIndicator[] result=dialog.getResult();
    for (    ModelElementIndicator modelElementIndicator : result) {
      modelElementIndicator.getTempIndicator().clear();
    }
    return new ModelElementIndicator[0];
  }
}

Fixed version (ground truth):
/** 
 * Open the dialog for select indicator
 * @param shell
 * @return The array of ModelElementIndicator which selected by user if user click ok button. If cancel button beclicked then the size of return array will be zero. If have a Where Clause is error will return null
 */
public ModelElementIndicator[] openIndicatorSelectDialog(Shell shell){
  String whereExpression=AnalysisHelper.getStringDataFilter(this.getAnalysis());
  final IndicatorSelectDialog dialog=new IndicatorSelectDialog(shell,DefaultMessagesImpl.getString("String_Node_Str"),masterPage.getCurrentModelElementIndicators(),whereExpression);
  dialog.setLimitNumber(this.masterPage.getPreviewLimit());
  dialog.create();
  if (!DQPreferenceManager.isBlockWeb()) {
    dialog.getShell().addShellListener(new ShellAdapter(){
      @Override public void shellActivated(      ShellEvent e){
        dialog.getShell().setFocus();
        IContext context=HelpSystem.getContext(HelpPlugin.getDefault().getIndicatorSelectorHelpContextID());
        PlatformUI.getWorkbench().getHelpSystem().displayHelp(context);
      }
    }
);
    dialog.getShell().addHelpListener(new HelpListener(){
      public void helpRequested(      HelpEvent e){
        IContext context=HelpSystem.getContext(HelpPlugin.getDefault().getIndicatorSelectorHelpContextID());
        PlatformUI.getWorkbench().getHelpSystem().displayHelp(context);
      }
    }
);
  }
  if (!dialog.checkWhereClause()) {
    return null;
  }
  if (dialog.open() == Window.OK) {
    ModelElementIndicator[] result=dialog.getResult();
    for (    ModelElementIndicator modelElementIndicator : result) {
      modelElementIndicator.storeTempIndicator();
    }
    return result;
  }
 else {
    ModelElementIndicator[] result=dialog.getResult();
    for (    ModelElementIndicator modelElementIndicator : result) {
      modelElementIndicator.getTempIndicator().clear();
    }
    return new ModelElementIndicator[0];
  }
}