Program: 102049
Project: 102049
Buggy source:
void handleAddProperty(){
  assert(!this.propertiesViewer.getSelection().isEmpty());
  if (this.parameterMap == null)   this.parameterMap=new LinkedHashMap();
  Set<String> keys=new HashSet<String>();
  for (  Object key : parameterMap.keySet()) {
    keys.add((String)key);
  }
  AddParameterDialog dialog=new AddParameterDialog(propertiesViewer.getControl().getShell(),keys);
  if (dialog.open() == Window.OK) {
    String name=dialog.getName();
    String type=dialog.getType() != null ? dialog.getType() : IWSProfileConstants.QUERY_STRING;
    String defaultValue=dialog.getDefaultValue();
    Parameter parameter=new Parameter(name,defaultValue,Parameter.Type.fromValue(type));
    this.parameterMap.put(name,parameter);
    this.propertiesViewer.refresh();
    Parameter prop=null;
    for (    TableItem item : this.propertiesViewer.getTable().getItems()) {
      if (item.getData() instanceof Parameter && ((Parameter)item.getData()).getName().equals(name)) {
        prop=(Parameter)item.getData();
        break;
      }
    }
    if (prop != null) {
      this.propertiesViewer.setSelection(new StructuredSelection(prop),true);
    }
    if (this.wsProfileDetailsWizardPage != null) {
      for (      Object key : this.parameterMap.keySet()) {
        Parameter para=(Parameter)this.parameterMap.get((String)key);
        wsProfileDetailsWizardPage.getProfileProperties().put(para.getPropertyKey(),para.getPropertyValue());
      }
      wsProfileDetailsWizardPage.setParameterMap(this.parameterMap);
      wsProfileDetailsWizardPage.urlPreviewText.setText(wsProfileDetailsWizardPage.updateUrlPreview().toString());
    }
 else {
      for (      Object key : this.parameterMap.keySet()) {
        Parameter para=(Parameter)this.parameterMap.get((String)key);
        propertyPage.getExtraProperties().put(para.getPropertyKey(),para.getPropertyValue());
      }
      propertyPage.setParameterMap(this.parameterMap);
      propertyPage.urlPreviewText.setText(propertyPage.updateUrlPreview().toString());
    }
  }
}

Fixed version (ground truth):
void handleAddProperty(){
  assert(!this.propertiesViewer.getSelection().isEmpty());
  if (this.parameterMap == null)   this.parameterMap=new LinkedHashMap();
  Set<String> keys=new HashSet<String>();
  for (  Object key : parameterMap.keySet()) {
    keys.add((String)key);
  }
  AddParameterDialog dialog=new AddParameterDialog(propertiesViewer.getControl().getShell(),keys);
  if (dialog.open() == Window.OK) {
    String name=dialog.getName();
    String type=dialog.getType() != null ? dialog.getType() : IWSProfileConstants.QUERY_STRING;
    String defaultValue=dialog.getDefaultValue();
    Parameter parameter=new Parameter(name,defaultValue,Parameter.Type.fromValue(type));
    this.parameterMap.put(name,parameter);
    this.propertiesViewer.refresh();
    Parameter prop=null;
    for (    TableItem item : this.propertiesViewer.getTable().getItems()) {
      if (item.getData() instanceof Parameter && ((Parameter)item.getData()).getName().equals(name)) {
        prop=(Parameter)item.getData();
        break;
      }
    }
    if (prop != null) {
      this.propertiesViewer.setSelection(new StructuredSelection(prop),true);
    }
    if (this.wsProfileDetailsWizardPage != null) {
      for (      Object key : this.parameterMap.keySet()) {
        Parameter para=(Parameter)this.parameterMap.get(key);
        wsProfileDetailsWizardPage.getProfileProperties().put(para.getPropertyKey(),para.getPropertyValue());
      }
      wsProfileDetailsWizardPage.setParameterMap(this.parameterMap);
      wsProfileDetailsWizardPage.urlPreviewText.setText(wsProfileDetailsWizardPage.updateUrlPreview().toString());
    }
 else {
      for (      Object key : this.parameterMap.keySet()) {
        Parameter para=(Parameter)this.parameterMap.get(key);
        propertyPage.getExtraProperties().put(para.getPropertyKey(),para.getPropertyValue());
      }
      propertyPage.setParameterMap(this.parameterMap);
      propertyPage.urlPreviewText.setText(propertyPage.updateUrlPreview().toString());
    }
  }
}