Program: 68680
Project: 68680
Buggy source:
private Composite createParamSection(ScalarParameter param,Composite parent){
  boolean isRequired=param.getHandle().isRequired();
  if (isRequired) {
    isRequiredParameters.add(param.getHandle().getName());
  }
  Composite container=new Composite(parent,SWT.NONE);
  container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  GridLayout layout=new GridLayout();
  container.setLayout(layout);
  Label label=new Label(container,SWT.NONE);
  label.setText(param.getHandle().getDisplayLabel() + (isRequired ? "String_Node_Str" : "String_Node_Str"));
  if (param instanceof StaticTextParameter) {
    final StaticTextParameter textParam=(StaticTextParameter)param;
    String value=textParam.getDefaultValue();
    dataTypeCheckList.add(textParam);
    Text input=new Text(container,SWT.BORDER);
    input.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    input.addModifyListener(new ModifyListener(){
      public void modifyText(      ModifyEvent e){
        Text input=(Text)e.getSource();
        paramValues.put(textParam.getHandle().getName(),input.getText());
      }
    }
);
    if (paramValues.containsKey(textParam.getHandle().getName())) {
      value=paramValues.get(textParam.getHandle().getName()).toString();
    }
    if (value != null) {
      input.setText(value);
    }
  }
 else   if (param instanceof RadioParameter) {
    final RadioParameter radioParameter=(RadioParameter)param;
    Object value=null;
    try {
      value=radioParameter.converToDataType(radioParameter.getDefaultValue());
    }
 catch (    BirtException e) {
    }
    if (paramValues.containsKey(radioParameter.getHandle().getName())) {
      value=paramValues.get(radioParameter.getHandle().getName());
    }
    List list=radioParameter.getValueList();
    if (!isRequired) {
      list.add(InputParameterDialog.nullValueChoice);
    }
    for (int i=0; i < list.size(); i++) {
      if (i > 0) {
        new Label(container,SWT.NONE);
      }
      IParameterSelectionChoice choice=(IParameterSelectionChoice)list.get(i);
      Button button=new Button(container,SWT.RADIO);
      button.setText(choice.getLabel());
      button.setData(choice.getValue());
      if (choice.getValue() != null && choice.getValue().equals(value)) {
        button.setSelection(true);
      }
 else       if (value == null && choice.getLabel().equals(NULL_VALUE_STR)) {
        button.setSelection(true);
      }
      button.addSelectionListener(new SelectionListener(){
        public void widgetDefaultSelected(        SelectionEvent e){
        }
        public void widgetSelected(        SelectionEvent e){
          Button button=(Button)e.getSource();
          paramValues.put(radioParameter.getHandle().getName(),button.getData());
        }
      }
);
    }
  }
 else   if (param instanceof ListingParameter) {
    final ListingParameter listParam=(ListingParameter)param;
    if (DesignChoiceConstants.SCALAR_PARAM_TYPE_MULTI_VALUE.equals(listParam.getHandle().getParamType())) {
      createList(container,listParam);
      GridData labelLayout=new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
      label.setLayoutData(labelLayout);
    }
 else {
      createCombo(container,listParam);
    }
  }
  return container;
}

Fixed version (ground truth):
private Composite createParamSection(ScalarParameter param,Composite parent){
  boolean isRequired=param.getHandle().isRequired();
  if (isRequired) {
    isRequiredParameters.add(param.getHandle().getName());
  }
  Composite container=new Composite(parent,SWT.NONE);
  container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  GridLayout layout=new GridLayout();
  container.setLayout(layout);
  Label label=new Label(container,SWT.NONE);
  label.setText(param.getHandle().getDisplayLabel() + (isRequired ? "String_Node_Str" : "String_Node_Str"));
  if (param instanceof StaticTextParameter) {
    final StaticTextParameter textParam=(StaticTextParameter)param;
    String value=textParam.getDefaultValue();
    dataTypeCheckList.add(textParam);
    Text input=new Text(container,SWT.BORDER);
    input.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    input.addModifyListener(new ModifyListener(){
      public void modifyText(      ModifyEvent e){
        Text input=(Text)e.getSource();
        paramValues.put(textParam.getHandle().getName(),input.getText());
      }
    }
);
    if (paramValues.containsKey(textParam.getHandle().getName())) {
      value=paramValues.get(textParam.getHandle().getName()).toString();
    }
    if (value != null) {
      input.setText(value);
    }
  }
 else   if (param instanceof RadioParameter) {
    final RadioParameter radioParameter=(RadioParameter)param;
    Object value=null;
    try {
      value=radioParameter.converToDataType(radioParameter.getDefaultValue());
    }
 catch (    BirtException e) {
    }
    if (paramValues.containsKey(radioParameter.getHandle().getName())) {
      value=paramValues.get(radioParameter.getHandle().getName());
    }
    List list=radioParameter.getValueList();
    if (!isRequired) {
      list.add(InputParameterDialog.nullValueChoice);
    }
    for (int i=0; i < list.size(); i++) {
      if (i > 0) {
        new Label(container,SWT.NONE);
      }
      IParameterSelectionChoice choice=(IParameterSelectionChoice)list.get(i);
      Button button=new Button(container,SWT.RADIO);
      String choiceLabel=choice.getLabel();
      if (choiceLabel == null) {
        choiceLabel=choice.getValue() == null ? NULL_VALUE_STR : String.valueOf(choice.getValue());
      }
      button.setText(choiceLabel);
      button.setData(choice.getValue());
      if (choice.getValue() != null && choice.getValue().equals(value)) {
        button.setSelection(true);
      }
 else       if (value == null && choice.getLabel().equals(NULL_VALUE_STR)) {
        button.setSelection(true);
      }
      button.addSelectionListener(new SelectionListener(){
        public void widgetDefaultSelected(        SelectionEvent e){
        }
        public void widgetSelected(        SelectionEvent e){
          Button button=(Button)e.getSource();
          paramValues.put(radioParameter.getHandle().getName(),button.getData());
        }
      }
);
    }
  }
 else   if (param instanceof ListingParameter) {
    final ListingParameter listParam=(ListingParameter)param;
    if (DesignChoiceConstants.SCALAR_PARAM_TYPE_MULTI_VALUE.equals(listParam.getHandle().getParamType())) {
      createList(container,listParam);
      GridData labelLayout=new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
      label.setLayoutData(labelLayout);
    }
 else {
      createCombo(container,listParam);
    }
  }
  return container;
}