Program: 76789
Project: 76789
Buggy source:
private void createPropertiesPart(Composite parent){
  propertiesGroup=new Group(parent,SWT.NULL);
  propertiesGroup.setText(LABEL_GROUP_PROPERTIES);
  propertiesGroup.setLayout(new GridLayout(2,false));
  propertiesGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  createLabel(propertiesGroup,LABEL_PARAM_NAME,maxStrLengthProperty);
  paramNameEditor=new Text(propertiesGroup,SWT.BORDER);
  paramNameEditor.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  paramNameEditor.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      valueTable.refresh(selectedParameter);
    }
  }
);
  createLabel(propertiesGroup,LABEL_PARAMTER_PROMPT_TEXT,maxStrLengthProperty);
  promptText=new Text(propertiesGroup,SWT.BORDER);
  promptText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  createLabel(propertiesGroup,LABEL_DATA_TYPE,maxStrLengthProperty);
  dataTypeChooser=new Combo(propertiesGroup,SWT.DROP_DOWN | SWT.READ_ONLY);
  dataTypeChooser.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  dataTypeChooser.setItems(ChoiceSetFactory.getDisplayNamefromChoiceSet(DATA_TYPE_CHOICE_SET));
  dataTypeChooser.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      if (selectedParameter != null && selectedParameter != newParameter) {
        changeDataType(DATA_TYPE_CHOICE_SET.findChoiceByDisplayName(dataTypeChooser.getText()).getName());
        try {
          selectedParameter.setDataType(DATA_TYPE_CHOICE_SET.findChoiceByDisplayName(dataTypeChooser.getText()).getName());
        }
 catch (        SemanticException e1) {
          ExceptionHandler.handle(e1);
        }
      }
    }
  }
);
  createLabel(propertiesGroup,LABEL_DISPLAY_TYPE,maxStrLengthProperty);
  displayTypeChooser=new Combo(propertiesGroup,SWT.DROP_DOWN | SWT.READ_ONLY);
  displayTypeChooser.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  displayTypeChooser.setItems(new String[]{DISPLAY_NAME_CONTROL_LIST,DISPLAY_NAME_CONTROL_COMBO});
  displayTypeChooser.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      if (selectedParameter != null && selectedParameter != newParameter) {
        try {
          String newControlType=getSelectedDisplayType();
          if (PARAM_CONTROL_COMBO.equals(newControlType)) {
            newControlType=DesignChoiceConstants.PARAM_CONTROL_LIST_BOX;
            selectedParameter.setMustMatch(true);
          }
 else           if (PARAM_CONTROL_LIST.equals(newControlType)) {
            newControlType=DesignChoiceConstants.PARAM_CONTROL_LIST_BOX;
            selectedParameter.setMustMatch(false);
          }
 else {
            selectedParameter.setProperty(ScalarParameterHandle.MUCH_MATCH_PROP,null);
          }
          selectedParameter.setControlType(newControlType);
        }
 catch (        SemanticException e1) {
          ExceptionHandler.handle(e1);
        }
      }
    }
  }
);
  createLabel(propertiesGroup,LABEL_DEFAULT_VALUE,maxStrLengthProperty);
  defaultValueEditor=new Text(propertiesGroup,SWT.BORDER);
  defaultValueEditor.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
}

Fixed version (ground truth):
private void createPropertiesPart(Composite parent){
  propertiesGroup=new Group(parent,SWT.NULL);
  propertiesGroup.setText(LABEL_GROUP_PROPERTIES);
  propertiesGroup.setLayout(new GridLayout(2,false));
  propertiesGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  createLabel(propertiesGroup,LABEL_PARAM_NAME,maxStrLengthProperty);
  paramNameEditor=new Text(propertiesGroup,SWT.BORDER);
  paramNameEditor.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  paramNameEditor.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      valueTable.refresh(selectedParameter);
    }
  }
);
  createLabel(propertiesGroup,LABEL_PARAMTER_PROMPT_TEXT,maxStrLengthProperty);
  promptText=new Text(propertiesGroup,SWT.BORDER);
  promptText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  createLabel(propertiesGroup,LABEL_DATA_TYPE,maxStrLengthProperty);
  dataTypeChooser=new Combo(propertiesGroup,SWT.DROP_DOWN | SWT.READ_ONLY);
  dataTypeChooser.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  dataTypeChooser.setItems(ChoiceSetFactory.getDisplayNamefromChoiceSet(DATA_TYPE_CHOICE_SET));
  dataTypeChooser.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      if (selectedParameter != null && selectedParameter != newParameter) {
        changeDataType(DATA_TYPE_CHOICE_SET.findChoiceByDisplayName(dataTypeChooser.getText()).getName());
        try {
          selectedParameter.setDataType(DATA_TYPE_CHOICE_SET.findChoiceByDisplayName(dataTypeChooser.getText()).getName());
        }
 catch (        SemanticException e1) {
          ExceptionHandler.handle(e1);
        }
      }
    }
  }
);
  createLabel(propertiesGroup,LABEL_DISPLAY_TYPE,maxStrLengthProperty);
  displayTypeChooser=new Combo(propertiesGroup,SWT.DROP_DOWN | SWT.READ_ONLY);
  displayTypeChooser.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  displayTypeChooser.setItems(new String[]{DISPLAY_NAME_CONTROL_LIST,DISPLAY_NAME_CONTROL_COMBO});
  displayTypeChooser.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      if (selectedParameter != null && selectedParameter != newParameter) {
        try {
          String newControlType=getSelectedDisplayType();
          if (PARAM_CONTROL_COMBO.equals(newControlType)) {
            newControlType=DesignChoiceConstants.PARAM_CONTROL_LIST_BOX;
            selectedParameter.setMustMatch(false);
          }
 else           if (PARAM_CONTROL_LIST.equals(newControlType)) {
            newControlType=DesignChoiceConstants.PARAM_CONTROL_LIST_BOX;
            selectedParameter.setMustMatch(true);
          }
 else {
            selectedParameter.setProperty(ScalarParameterHandle.MUCH_MATCH_PROP,null);
          }
          selectedParameter.setControlType(newControlType);
        }
 catch (        SemanticException e1) {
          ExceptionHandler.handle(e1);
        }
      }
    }
  }
);
  createLabel(propertiesGroup,LABEL_DEFAULT_VALUE,maxStrLengthProperty);
  defaultValueEditor=new Text(propertiesGroup,SWT.BORDER);
  defaultValueEditor.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
}