Program: 98682
Project: 98682
Buggy source:
@SuppressWarnings("String_Node_Str") public void start(){
  JPanel content=new JPanel(new BorderLayout());
  menuBar=new JMenuBar();
  JMenu file=new JMenu("String_Node_Str");
  if (platform != Platform.MAC_OS_X) {
    file.add(new AbstractAction("String_Node_Str"){
      @Override public void actionPerformed(      ActionEvent e){
        about.showDialog();
      }
    }
);
  }
  JMenuItem newIfs=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      IFS untitled=new IFS();
      bus.post(untitled);
    }
  }
);
  newIfs.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  file.add(newIfs);
  JMenuItem open=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      FileNameExtensionFilter filter=new FileNameExtensionFilter("String_Node_Str","String_Node_Str");
      JFileChooser chooser=new JFileChooser();
      chooser.setCurrentDirectory(cwd);
      chooser.setFileFilter(filter);
      int result=chooser.showOpenDialog(null);
      if (result == JFileChooser.APPROVE_OPTION) {
        IFS loaded=load(chooser.getSelectedFile());
        loaded.setSize(getSize());
        bus.post(loaded);
      }
    }
  }
);
  open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  file.add(open);
  save=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      if (ifs.getName() == null) {
        saveAs.doClick();
      }
 else {
        File saveAs=new File(cwd,ifs.getName() + "String_Node_Str");
        save(saveAs);
        save.setEnabled(false);
      }
    }
  }
);
  save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  save.setEnabled(false);
  file.add(save);
  saveAs=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      FileNameExtensionFilter filter=new FileNameExtensionFilter("String_Node_Str","String_Node_Str");
      JFileChooser chooser=new JFileChooser();
      chooser.setCurrentDirectory(cwd);
      chooser.setFileFilter(filter);
      chooser.setSelectedFile(new File(Optional.fromNullable(ifs.getName()).or(IFS.UNTITLED) + "String_Node_Str"));
      int result=chooser.showSaveDialog(null);
      if (result == JFileChooser.APPROVE_OPTION) {
        File saveAs=chooser.getSelectedFile();
        ifs.setName(saveAs.getName().replace("String_Node_Str","String_Node_Str"));
        save(saveAs);
        bus.post(ifs);
      }
    }
  }
);
  saveAs.setEnabled(false);
  file.add(saveAs);
  export=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      FileNameExtensionFilter filter=new FileNameExtensionFilter("String_Node_Str","String_Node_Str");
      JFileChooser chooser=new JFileChooser();
      chooser.setCurrentDirectory(cwd);
      chooser.setFileFilter(filter);
      chooser.setSelectedFile(new File(Optional.fromNullable(ifs.getName()).or(IFS.UNTITLED) + "String_Node_Str"));
      int result=chooser.showSaveDialog(null);
      if (result == JFileChooser.APPROVE_OPTION) {
        File file=chooser.getSelectedFile();
        viewer.save(file);
        cwd=file.getParentFile();
      }
    }
  }
);
  export.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  file.add(export);
  JMenuItem print=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
    }
  }
);
  print.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  file.add(print);
  if (platform != Platform.MAC_OS_X) {
    file.add(new AbstractAction("String_Node_Str"){
      @Override public void actionPerformed(      ActionEvent e){
      }
    }
);
    JMenuItem quit=new JMenuItem(new AbstractAction("String_Node_Str"){
      @Override public void actionPerformed(      ActionEvent e){
        System.exit(0);
      }
    }
);
    quit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
    file.add(quit);
  }
  menuBar.add(file);
  JMenu system=new JMenu("String_Node_Str");
  showEditor=new JCheckBoxMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      show(EDITOR);
    }
  }
);
  showViewer=new JCheckBoxMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      show(VIEWER);
    }
  }
);
  showDetails=new JCheckBoxMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      show(DETAILS);
    }
  }
);
  system.add(showEditor);
  system.add(showViewer);
  system.add(showDetails);
  ButtonGroup displayGroup=new ButtonGroup();
  displayGroup.add(showEditor);
  displayGroup.add(showViewer);
  displayGroup.add(showDetails);
  menuBar.add(system);
  setJMenuBar(menuBar);
  setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
  addWindowListener(new WindowAdapter(){
    /** 
 * @see WindowListener#windowClosed(WindowEvent) 
 */
    @Override public void windowClosed(    WindowEvent e){
      System.exit(0);
    }
  }
);
  editor=new Editor(bus,this);
  viewer=new Viewer(bus,this);
  details=new Details(bus,this);
  scroll=new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  scroll.setViewportView(details);
  cards=new CardLayout();
  view=new JPanel(cards);
  view.add(editor,EDITOR);
  view.add(viewer,VIEWER);
  view.add(scroll,DETAILS);
  content.add(view,BorderLayout.CENTER);
  show(EDITOR);
  showEditor.setSelected(true);
  setContentPane(content);
  if (!fullScreen) {
    editor.setMinimumSize(min);
    editor.setSize(size);
    viewer.setMinimumSize(min);
    viewer.setSize(size);
    pack();
    final int top=getInsets().top + menuBar.getHeight();
    Dimension actual=new Dimension(size.width,size.height + top);
    setSize(actual);
    setPreferredSize(actual);
    setMinimumSize(new Dimension(min.width,min.height + top));
    Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
    setLocation((screen.width / 2) - (actual.width / 2),(screen.height / 2) - (actual.height / 2));
    addComponentListener(new ComponentAdapter(){
      @Override public void componentResized(      ComponentEvent e){
        Dimension suggested=getSize();
        int side=Math.max(MIN_WINDOW_SIZE,Math.min(suggested.width,suggested.height - top));
        setSize(side,side + top);
        bus.post(new Dimension(side,side));
      }
    }
);
  }
  setFocusable(true);
  requestFocusInWindow();
  setFocusTraversalKeysEnabled(false);
  addKeyListener(this);
  addKeyListener(editor);
  addKeyListener(viewer);
  IFS untitled=new IFS();
  bus.post(untitled);
  if (postponed != null) {
    SwingUtilities.invokeLater(postponed);
  }
  setVisible(true);
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public void start(){
  JPanel content=new JPanel(new BorderLayout());
  menuBar=new JMenuBar();
  JMenu file=new JMenu("String_Node_Str");
  if (platform != Platform.MAC_OS_X) {
    file.add(new AbstractAction("String_Node_Str"){
      @Override public void actionPerformed(      ActionEvent e){
        about.showDialog();
      }
    }
);
  }
  JMenuItem newIfs=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      IFS untitled=new IFS();
      bus.post(untitled);
    }
  }
);
  newIfs.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  file.add(newIfs);
  JMenuItem open=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      FileNameExtensionFilter filter=new FileNameExtensionFilter("String_Node_Str","String_Node_Str");
      JFileChooser chooser=new JFileChooser();
      chooser.setCurrentDirectory(cwd);
      chooser.setFileFilter(filter);
      int result=chooser.showOpenDialog(null);
      if (result == JFileChooser.APPROVE_OPTION) {
        IFS loaded=load(chooser.getSelectedFile());
        loaded.setSize(size);
        bus.post(loaded);
      }
    }
  }
);
  open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  file.add(open);
  save=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      if (ifs.getName() == null) {
        saveAs.doClick();
      }
 else {
        File saveAs=new File(cwd,ifs.getName() + "String_Node_Str");
        save(saveAs);
        save.setEnabled(false);
      }
    }
  }
);
  save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  save.setEnabled(false);
  file.add(save);
  saveAs=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      FileNameExtensionFilter filter=new FileNameExtensionFilter("String_Node_Str","String_Node_Str");
      JFileChooser chooser=new JFileChooser();
      chooser.setCurrentDirectory(cwd);
      chooser.setFileFilter(filter);
      chooser.setSelectedFile(new File(Optional.fromNullable(ifs.getName()).or(IFS.UNTITLED) + "String_Node_Str"));
      int result=chooser.showSaveDialog(null);
      if (result == JFileChooser.APPROVE_OPTION) {
        File saveAs=chooser.getSelectedFile();
        ifs.setName(saveAs.getName().replace("String_Node_Str","String_Node_Str"));
        save(saveAs);
        bus.post(ifs);
      }
    }
  }
);
  saveAs.setEnabled(false);
  file.add(saveAs);
  export=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      FileNameExtensionFilter filter=new FileNameExtensionFilter("String_Node_Str","String_Node_Str");
      JFileChooser chooser=new JFileChooser();
      chooser.setCurrentDirectory(cwd);
      chooser.setFileFilter(filter);
      chooser.setSelectedFile(new File(Optional.fromNullable(ifs.getName()).or(IFS.UNTITLED) + "String_Node_Str"));
      int result=chooser.showSaveDialog(null);
      if (result == JFileChooser.APPROVE_OPTION) {
        File file=chooser.getSelectedFile();
        viewer.save(file);
        cwd=file.getParentFile();
      }
    }
  }
);
  export.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  file.add(export);
  JMenuItem print=new JMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
    }
  }
);
  print.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
  file.add(print);
  if (platform != Platform.MAC_OS_X) {
    file.add(new AbstractAction("String_Node_Str"){
      @Override public void actionPerformed(      ActionEvent e){
      }
    }
);
    JMenuItem quit=new JMenuItem(new AbstractAction("String_Node_Str"){
      @Override public void actionPerformed(      ActionEvent e){
        System.exit(0);
      }
    }
);
    quit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
    file.add(quit);
  }
  menuBar.add(file);
  JMenu system=new JMenu("String_Node_Str");
  showEditor=new JCheckBoxMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      show(EDITOR);
    }
  }
);
  showViewer=new JCheckBoxMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      show(VIEWER);
    }
  }
);
  showDetails=new JCheckBoxMenuItem(new AbstractAction("String_Node_Str"){
    @Override public void actionPerformed(    ActionEvent e){
      show(DETAILS);
    }
  }
);
  system.add(showEditor);
  system.add(showViewer);
  system.add(showDetails);
  ButtonGroup displayGroup=new ButtonGroup();
  displayGroup.add(showEditor);
  displayGroup.add(showViewer);
  displayGroup.add(showDetails);
  menuBar.add(system);
  setJMenuBar(menuBar);
  setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
  addWindowListener(new WindowAdapter(){
    /** 
 * @see WindowListener#windowClosed(WindowEvent) 
 */
    @Override public void windowClosed(    WindowEvent e){
      System.exit(0);
    }
  }
);
  editor=new Editor(bus,this);
  viewer=new Viewer(bus,this);
  details=new Details(bus,this);
  scroll=new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  scroll.setViewportView(details);
  cards=new CardLayout();
  view=new JPanel(cards);
  view.add(editor,EDITOR);
  view.add(viewer,VIEWER);
  view.add(scroll,DETAILS);
  content.add(view,BorderLayout.CENTER);
  show(EDITOR);
  showEditor.setSelected(true);
  setContentPane(content);
  if (!fullScreen) {
    editor.setMinimumSize(min);
    editor.setSize(size);
    viewer.setMinimumSize(min);
    viewer.setSize(size);
    pack();
    final int top=getInsets().top + menuBar.getHeight();
    Dimension actual=new Dimension(size.width,size.height + top);
    setSize(actual);
    setPreferredSize(actual);
    setMinimumSize(new Dimension(min.width,min.height + top));
    Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
    setLocation((screen.width / 2) - (actual.width / 2),(screen.height / 2) - (actual.height / 2));
    addComponentListener(new ComponentAdapter(){
      @Override public void componentResized(      ComponentEvent e){
        Dimension suggested=getSize();
        int side=Math.max(MIN_WINDOW_SIZE,Math.min(suggested.width,suggested.height - top));
        setSize(side,side + top);
        bus.post(new Dimension(side,side));
      }
    }
);
  }
  setFocusable(true);
  requestFocusInWindow();
  setFocusTraversalKeysEnabled(false);
  addKeyListener(this);
  addKeyListener(editor);
  addKeyListener(viewer);
  IFS untitled=new IFS();
  bus.post(untitled);
  if (postponed != null) {
    SwingUtilities.invokeLater(postponed);
  }
  setVisible(true);
}