Program: 138940
Project: 138940
Buggy source:
/** 
 * DOC qzhang Comment method "createIndicatorParameters".
 * @param indicatorItem
 * @param parameters
 */
private void createIndicatorParameters(TreeItem indicatorItem,IndicatorUnit indicatorUnit){
  TreeItem[] items=indicatorItem.getItems();
  if (indicatorItem != null && !indicatorItem.isDisposed()) {
    for (    TreeItem treeItem : items) {
      if (DATA_PARAM.equals(treeItem.getData(DATA_PARAM))) {
        treeItem.dispose();
      }
    }
  }
  IndicatorParameters parameters=indicatorUnit.getIndicator().getParameters();
  if (parameters == null) {
    return;
  }
  TreeItem iParamItem;
  if (indicatorUnit.getIndicator() instanceof FrequencyIndicator) {
    if (parameters.getBins() == null) {
      return;
    }
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str") + parameters.getTopN());
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
  }
  TextParameters tParameter=parameters.getTextParameter();
  if (tParameter != null) {
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str"));
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    TreeItem subParamItem=new TreeItem(iParamItem,SWT.NONE);
    subParamItem.setText(DefaultMessagesImpl.getString("String_Node_Str") + tParameter.isUseBlank());
    subParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    subParamItem.setData(DATA_PARAM,DATA_PARAM);
    subParamItem=new TreeItem(iParamItem,SWT.NONE);
    subParamItem.setText(DefaultMessagesImpl.getString("String_Node_Str") + tParameter.isIgnoreCase());
    subParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    subParamItem.setData(DATA_PARAM,DATA_PARAM);
    subParamItem=new TreeItem(iParamItem,SWT.NONE);
    subParamItem.setText(DefaultMessagesImpl.getString("String_Node_Str") + tParameter.isUseNulls());
    subParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    subParamItem.setData(DATA_PARAM,DATA_PARAM);
  }
  DateParameters dParameters=parameters.getDateParameters();
  if (dParameters != null) {
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str"));
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    TreeItem subParamItem=new TreeItem(iParamItem,SWT.NONE);
    subParamItem.setText(DefaultMessagesImpl.getString("String_Node_Str",dParameters.getDateAggregationType().getName()));
    subParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    subParamItem.setData(DATA_PARAM,DATA_PARAM);
  }
  Domain indicatorValidDomain=parameters.getIndicatorValidDomain();
  if (indicatorValidDomain != null) {
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str") + (indicatorValidDomain != null));
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
  }
  Domain bins=parameters.getBins();
  if (bins != null) {
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str") + (bins != null));
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
  }
}

Fixed version (ground truth):
/** 
 * DOC qzhang Comment method "createIndicatorParameters".
 * @param indicatorItem
 * @param parameters
 */
private void createIndicatorParameters(TreeItem indicatorItem,IndicatorUnit indicatorUnit){
  TreeItem[] items=indicatorItem.getItems();
  if (indicatorItem != null && !indicatorItem.isDisposed()) {
    for (    TreeItem treeItem : items) {
      if (DATA_PARAM.equals(treeItem.getData(DATA_PARAM))) {
        treeItem.dispose();
      }
    }
  }
  IndicatorParameters parameters=indicatorUnit.getIndicator().getParameters();
  if (parameters == null) {
    return;
  }
  if (hideParameters(indicatorUnit)) {
    return;
  }
  TreeItem iParamItem;
  if (indicatorUnit.getIndicator() instanceof FrequencyIndicator) {
    if (parameters.getBins() == null) {
      return;
    }
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str") + parameters.getTopN());
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
  }
  TextParameters tParameter=parameters.getTextParameter();
  if (tParameter != null) {
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str"));
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    TreeItem subParamItem=new TreeItem(iParamItem,SWT.NONE);
    subParamItem.setText(DefaultMessagesImpl.getString("String_Node_Str") + tParameter.isUseBlank());
    subParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    subParamItem.setData(DATA_PARAM,DATA_PARAM);
    subParamItem=new TreeItem(iParamItem,SWT.NONE);
    subParamItem.setText(DefaultMessagesImpl.getString("String_Node_Str") + tParameter.isIgnoreCase());
    subParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    subParamItem.setData(DATA_PARAM,DATA_PARAM);
    subParamItem=new TreeItem(iParamItem,SWT.NONE);
    subParamItem.setText(DefaultMessagesImpl.getString("String_Node_Str") + tParameter.isUseNulls());
    subParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    subParamItem.setData(DATA_PARAM,DATA_PARAM);
  }
  DateParameters dParameters=parameters.getDateParameters();
  if (dParameters != null) {
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str"));
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    TreeItem subParamItem=new TreeItem(iParamItem,SWT.NONE);
    subParamItem.setText(DefaultMessagesImpl.getString("String_Node_Str",dParameters.getDateAggregationType().getName()));
    subParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
    subParamItem.setData(DATA_PARAM,DATA_PARAM);
  }
  Domain indicatorValidDomain=parameters.getIndicatorValidDomain();
  if (indicatorValidDomain != null) {
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str") + (indicatorValidDomain != null));
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
  }
  Domain bins=parameters.getBins();
  if (bins != null) {
    iParamItem=new TreeItem(indicatorItem,SWT.NONE);
    iParamItem.setText(0,DefaultMessagesImpl.getString("String_Node_Str") + (bins != null));
    iParamItem.setData(DATA_PARAM,DATA_PARAM);
    iParamItem.setImage(0,ImageLib.getImage(ImageLib.OPTION));
  }
}