Program: 69273
Project: 69273
Buggy source:
/** 
 * Create parameter page control, if the datasetHandle is ODA, add the "linked with report parameter" cell.
 * @param parent
 * @return
 */
private Control createParameterPageControl(Composite parent){
  viewer=new PropertyHandleTableViewer(parent,true,true,true);
  TableColumn column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
  column.setText("String_Node_Str");
  column.setResizable(false);
  column.setWidth(23);
  DataSetHandle dataSetHandle=(DataSetHandle)getContainer().getModel();
  isOdaDataSetHandle=ParameterPageUtil.isOdaDataSetHandle(dataSetHandle);
  isJointOrDerivedDataSetHandle=ParameterPageUtil.isJointOrDerivedDataSetHandle(dataSetHandle);
  if (isOdaDataSetHandle) {
    String[] cellLabels=ParameterPageUtil.odaCellLabels;
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[0]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[1]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[2]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[3]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[4]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[5]);
    column.setWidth(180);
  }
 else {
    String[] cellLabels=ParameterPageUtil.cellLabels;
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[0]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[1]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[2]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[3]);
    column.setWidth(100);
    if (isJointOrDerivedDataSetHandle) {
      column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
      column.setText(ParameterPageUtil.odaCellLabels[5]);
      column.setWidth(180);
    }
  }
  viewer.getViewer().setContentProvider(new ParameterViewContentProvider());
  viewer.getViewer().setLabelProvider(new ParameterViewLableProvider(dataSetHandle));
  adjustParameterOnPosition(parameters);
  if (ParameterPageUtil.isJointOrDerivedDataSetHandle(dataSetHandle)) {
    viewer.getViewer().setInput(dataSetHandle);
  }
 else {
    viewer.getViewer().setInput(parameters);
  }
  setToolTips();
  if (!isJointOrDerivedDataSetHandle) {
    addRefreshMenu();
    addListeners();
  }
  dataSetHandle.addListener(this);
  return viewer.getControl();
}

Fixed version (ground truth):
/** 
 * Create parameter page control, if the datasetHandle is ODA, add the "linked with report parameter" cell.
 * @param parent
 * @return
 */
private Control createParameterPageControl(Composite parent){
  DataSetHandle dataSetHandle=(DataSetHandle)getContainer().getModel();
  isOdaDataSetHandle=ParameterPageUtil.isOdaDataSetHandle(dataSetHandle);
  isJointOrDerivedDataSetHandle=ParameterPageUtil.isJointOrDerivedDataSetHandle(dataSetHandle);
  viewer=new PropertyHandleTableViewer(parent,true,true,true,!isJointOrDerivedDataSetHandle);
  TableColumn column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
  column.setText("String_Node_Str");
  column.setResizable(false);
  column.setWidth(23);
  if (isOdaDataSetHandle) {
    String[] cellLabels=ParameterPageUtil.odaCellLabels;
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[0]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[1]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[2]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[3]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[4]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[5]);
    column.setWidth(180);
  }
 else {
    String[] cellLabels=ParameterPageUtil.cellLabels;
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[0]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[1]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[2]);
    column.setWidth(100);
    column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
    column.setText(cellLabels[3]);
    column.setWidth(100);
    if (isJointOrDerivedDataSetHandle) {
      column=new TableColumn(viewer.getViewer().getTable(),SWT.LEFT);
      column.setText(ParameterPageUtil.odaCellLabels[5]);
      column.setWidth(180);
    }
  }
  viewer.getViewer().setContentProvider(new ParameterViewContentProvider());
  viewer.getViewer().setLabelProvider(new ParameterViewLableProvider(dataSetHandle));
  adjustParameterOnPosition(parameters);
  if (ParameterPageUtil.isJointOrDerivedDataSetHandle(dataSetHandle)) {
    viewer.getViewer().setInput(dataSetHandle);
  }
 else {
    viewer.getViewer().setInput(parameters);
  }
  setToolTips();
  if (!isJointOrDerivedDataSetHandle) {
    addRefreshMenu();
    addListeners();
  }
  dataSetHandle.addListener(this);
  return viewer.getControl();
}