Program: 64376
Project: 64376
Buggy source:
/** 
 * Save the project to the current file name.
 */
public void run(){
  FileFilter filter=new XMLFileFilter(getContext().getResources());
  if (_project == null) {
    _project=getContext().getSelectionManager().getSelectedProject();
  }
  if (_project != null) {
    if (_location == null) {
      JFileChooser chooser=new JFileChooser();
      chooser.addChoosableFileFilter(filter);
      int val=chooser.showSaveDialog(getContext().getParentFrame());
      if (val == JFileChooser.APPROVE_OPTION) {
        File file=chooser.getSelectedFile();
        if (file.exists()) {
          String title=getContext().getResources().getString(SaveCmd.class,"String_Node_Str");
          String message=getContext().getResources().getMessage(SaveCmd.class,"String_Node_Str",new Object[]{file.toString()});
          val=JOptionPane.showConfirmDialog(getContext().getParentFrame(),message,title,JOptionPane.YES_NO_OPTION);
          if (val == JOptionPane.YES_OPTION) {
            try {
              _location=new URL("String_Node_Str",null,file.getAbsolutePath());
            }
 catch (            MalformedURLException ex) {
              ex.printStackTrace();
            }
          }
        }
      }
    }
    if (_location != null) {
      try {
        getContext().getProjectManager().saveAs(_project,_location);
      }
 catch (      IOException ex) {
        String message=getContext().getResources().getMessage(SaveCmd.class,"String_Node_Str",new Object[]{_location.toString()});
        getContext().getEventBus().postEvent(new ErrorEvent(getContext(),message));
      }
    }
  }
 else {
    String message=getContext().getResources().getString(SaveCmd.class,"String_Node_Str");
    getContext().getEventBus().postEvent(new ErrorEvent(getContext(),message));
  }
}

Fixed version (ground truth):
/** 
 * Save the project to the current file name.
 */
public void run(){
  FileFilter filter=new XMLFileFilter(getContext().getResources());
  if (_project == null) {
    _project=getContext().getSelectionManager().getSelectedProject();
  }
  if (_project != null) {
    if (_location == null) {
      JFileChooser chooser=new JFileChooser();
      chooser.addChoosableFileFilter(filter);
      int val=chooser.showSaveDialog(getContext().getParentFrame());
      if (val == JFileChooser.APPROVE_OPTION) {
        File file=chooser.getSelectedFile();
        if (file.exists()) {
          String title=getContext().getResources().getString(SaveCmd.class,"String_Node_Str");
          String message=getContext().getResources().getMessage(SaveCmd.class,"String_Node_Str",new Object[]{file.toString()});
          val=JOptionPane.showConfirmDialog(getContext().getParentFrame(),message,title,JOptionPane.YES_NO_OPTION);
          if (val != JOptionPane.YES_OPTION) {
            return;
          }
        }
        try {
          _location=new URL("String_Node_Str",null,file.getAbsolutePath());
        }
 catch (        MalformedURLException ex) {
          ex.printStackTrace();
        }
      }
    }
    if (_location != null) {
      try {
        getContext().getProjectManager().saveAs(_project,_location);
      }
 catch (      IOException ex) {
        String message=getContext().getResources().getMessage(SaveCmd.class,"String_Node_Str",new Object[]{_location.toString()});
        getContext().getEventBus().postEvent(new ErrorEvent(getContext(),message,ex));
      }
    }
  }
 else {
    String message=getContext().getResources().getString(SaveCmd.class,"String_Node_Str");
    getContext().getEventBus().postEvent(new ErrorEvent(getContext(),message));
  }
}