Program: 118229
Project: 118229
Buggy source:
public Command createCommand(Button button){
  Object data=button.getData(NAME);
  if (data != null) {
    if (ICON_SELECTION.equals(data)) {
      FileDialog dial=new FileDialog(composite.getShell(),SWT.NONE);
      dial.setFilterExtensions(new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
      String propertyName=(String)button.getData(PARAMETER_NAME);
      String file=dial.open();
      if (file != null) {
        if (!file.equals("String_Node_Str")) {
          if (!elem.getPropertyValue(propertyName).equals(file)) {
            ImageData imageData=new ImageData(file);
            if (ImageUtils.checkSize(ImageDescriptor.createFromImageData(imageData),ImageUtils.ICON_SIZE.ICON_32)) {
              if (elem instanceof IProcess2) {
                refreshIcon(imageData);
                return new IconSelectionCommand((IProcess2)elem,ImageDescriptor.createFromImageData(imageData),file);
              }
            }
 else {
              MessageDialog.openError(composite.getShell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
            }
          }
        }
      }
    }
 else     if (ICON_REVERT.equals(data)) {
      if (elem instanceof IProcess2) {
        Image defaultIcon=RepositoryLabelProvider.getDefaultJobletImage();
        ImageDescriptor imageData=ImageDescriptor.createFromImage(defaultIcon);
        refreshIcon(defaultIcon.getImageData());
        return new IconSelectionCommand((IProcess2)elem,imageData,null);
      }
    }
  }
  return null;
}

Fixed version (ground truth):
public Command createCommand(Button button){
  Object data=button.getData(NAME);
  if (data != null) {
    if (ICON_SELECTION.equals(data)) {
      FileDialog dial=new FileDialog(composite.getShell(),SWT.NONE);
      dial.setFilterExtensions(new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"});
      String propertyName=(String)button.getData(PARAMETER_NAME);
      String file=dial.open();
      if (file != null) {
        if (!file.equals("String_Node_Str")) {
          if (!elem.getPropertyValue(propertyName).equals(file)) {
            ImageData imageData=new ImageData(file);
            if (ImageUtils.checkSize(ImageDescriptor.createFromImageData(imageData),ImageUtils.ICON_SIZE.ICON_32)) {
              if (elem instanceof IProcess2) {
                refreshIcon(imageData);
                return new IconSelectionCommand((IProcess2)elem,ImageDescriptor.createFromImageData(imageData),file);
              }
            }
 else {
              MessageDialog.openError(composite.getShell(),Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
            }
          }
        }
      }
    }
 else     if (ICON_REVERT.equals(data)) {
      if (elem instanceof IProcess2) {
        Image defaultIcon=RepositoryLabelProvider.getDefaultJobletImage(((IProcess2)elem).getProperty().getItem());
        ImageDescriptor imageData=ImageDescriptor.createFromImage(defaultIcon);
        refreshIcon(defaultIcon.getImageData());
        return new IconSelectionCommand((IProcess2)elem,imageData,null);
      }
    }
  }
  return null;
}