Program: 146238
Project: 146238
Buggy source:
protected void refreshData(){
  try {
    if (this.comitting)     return;
    this.refreshing=true;
    WSRole wsRole=(WSRole)(getXObject().getWsObject());
    role=new Role();
    role.setName(wsRole.getName());
    role.setDescription(wsRole.getDescription() == null ? "String_Node_Str" : wsRole.getDescription());
    HashMap<String,Role.Specification> specifications=new HashMap<String,Role.Specification>();
    if (wsRole.getSpecification() != null) {
      for (int i=0; i < wsRole.getSpecification().length; i++) {
        WSRoleSpecification wsSpecification=wsRole.getSpecification()[i];
        Role.Specification specification=(new Role()).new Specification();
        specification.setAdmin(wsSpecification.isAdmin());
        HashMap<String,Role.Specification.Instance> instances=new HashMap<String,Role.Specification.Instance>();
        if (wsSpecification.getInstance() != null) {
          for (int j=0; j < wsSpecification.getInstance().length; j++) {
            WSRoleSpecificationInstance wsInstance=wsSpecification.getInstance()[j];
            Role.Specification.Instance instance=specification.new Instance();
            instance.setWritable(wsInstance.isWritable());
            instance.setParameters(new LinkedHashSet<String>(Arrays.asList(wsInstance.getParameter())));
            instances.put(wsInstance.getInstanceName(),instance);
          }
        }
        specification.setInstances(instances);
        specifications.put(wsSpecification.getObjectType(),specification);
      }
    }
    role.setSpecifications(specifications);
    XtentisPort port=Util.getPort(getXObject());
    String[] objects=port.getObjectsForRoles(null).getStrings();
    Arrays.sort(objects);
    desAntionComposite.setText(role.getDescription() == null ? "String_Node_Str" : role.getDescription());
    int selected=(objectTypesCombo.getSelectionIndex() == -1 ? 0 : objectTypesCombo.getSelectionIndex());
    objectTypesCombo.setItems(objects);
    objectTypesCombo.select(selected);
    this.refreshing=false;
  }
 catch (  Exception e) {
    e.printStackTrace();
    MessageDialog.openError(this.getSite().getShell(),"String_Node_Str","String_Node_Str" + e.getLocalizedMessage());
  }
}

Fixed version (ground truth):
protected void refreshData(){
  try {
    if (this.comitting)     return;
    this.refreshing=true;
    WSRole wsRole=(WSRole)(getXObject().getWsObject());
    desAntionComposite.setText(wsRole.getDescription() == null ? "String_Node_Str" : wsRole.getDescription());
    role=new Role();
    role.setName(wsRole.getName());
    role.setDescription(wsRole.getDescription() == null ? "String_Node_Str" : wsRole.getDescription());
    HashMap<String,Role.Specification> specifications=new HashMap<String,Role.Specification>();
    if (wsRole.getSpecification() != null) {
      for (int i=0; i < wsRole.getSpecification().length; i++) {
        WSRoleSpecification wsSpecification=wsRole.getSpecification()[i];
        Role.Specification specification=(new Role()).new Specification();
        specification.setAdmin(wsSpecification.isAdmin());
        HashMap<String,Role.Specification.Instance> instances=new HashMap<String,Role.Specification.Instance>();
        if (wsSpecification.getInstance() != null) {
          for (int j=0; j < wsSpecification.getInstance().length; j++) {
            WSRoleSpecificationInstance wsInstance=wsSpecification.getInstance()[j];
            Role.Specification.Instance instance=specification.new Instance();
            instance.setWritable(wsInstance.isWritable());
            instance.setParameters(new LinkedHashSet<String>(Arrays.asList(wsInstance.getParameter())));
            instances.put(wsInstance.getInstanceName(),instance);
          }
        }
        specification.setInstances(instances);
        specifications.put(wsSpecification.getObjectType(),specification);
      }
    }
    role.setSpecifications(specifications);
    XtentisPort port=Util.getPort(getXObject());
    String[] objects=port.getObjectsForRoles(null).getStrings();
    Arrays.sort(objects);
    desAntionComposite.setText(role.getDescription() == null ? "String_Node_Str" : role.getDescription());
    int selected=(objectTypesCombo.getSelectionIndex() == -1 ? 0 : objectTypesCombo.getSelectionIndex());
    objectTypesCombo.setItems(objects);
    objectTypesCombo.select(selected);
    this.refreshing=false;
  }
 catch (  Exception e) {
    e.printStackTrace();
    MessageDialog.openError(this.getSite().getShell(),"String_Node_Str","String_Node_Str" + e.getLocalizedMessage());
  }
}