Program: 76674
Project: 76674
Buggy source:
private void handleEvents(){
  nodeList.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent arg0){
      if (SwingUtilities.isRightMouseButton(arg0)) {
        nodeList.setSelectedIndex(nodeList.locationToIndex(arg0.getPoint()));
        JPopupMenu menu=new JPopupMenu();
        JMenuItem show=new JMenuItem("String_Node_Str");
        show.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            showNode(nodeList.getSelectedValue());
            addTextToConsole("String_Node_Str" + nodeList.getSelectedIndex());
          }
        }
);
        JMenuItem remove=new JMenuItem("String_Node_Str");
        remove.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            addTextToConsole("String_Node_Str" + nodeList.getSelectedIndex());
          }
        }
);
        JMenuItem addRule=new JMenuItem("String_Node_Str");
        addRule.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            addTextToConsole("String_Node_Str" + nodeList.getSelectedIndex());
          }
        }
);
        menu.add(show);
        menu.add(remove);
        menu.show(nodeList,arg0.getPoint().x,arg0.getPoint().y);
      }
 else       if (SwingUtilities.isLeftMouseButton(arg0)) {
        showNode(nodeList.getSelectedValue());
        addTextToConsole("String_Node_Str" + nodeList.getSelectedIndex());
      }
    }
  }
);
  rulesList.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent arg0){
      if (SwingUtilities.isRightMouseButton(arg0)) {
        rulesList.setSelectedIndex(rulesList.locationToIndex(arg0.getPoint()));
        JPopupMenu menu=new JPopupMenu();
        JMenuItem show=new JMenuItem("String_Node_Str");
        show.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            addTextToConsole("String_Node_Str" + rulesList.getSelectedIndex());
          }
        }
);
        JMenuItem remove=new JMenuItem("String_Node_Str");
        remove.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            addTextToConsole("String_Node_Str" + rulesList.getSelectedIndex());
          }
        }
);
        menu.add(show);
        menu.add(remove);
        menu.show(rulesList,arg0.getPoint().x,arg0.getPoint().y);
      }
    }
  }
);
}

Fixed version (ground truth):
private void handleEvents(){
  nodeList.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent arg0){
      if (SwingUtilities.isRightMouseButton(arg0)) {
        nodeList.setSelectedIndex(nodeList.locationToIndex(arg0.getPoint()));
        JPopupMenu menu=new JPopupMenu();
        JMenuItem show=new JMenuItem("String_Node_Str");
        show.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            showNode(nodeList.getSelectedValue());
            addTextToConsole("String_Node_Str" + nodeList.getSelectedIndex());
          }
        }
);
        JMenuItem remove=new JMenuItem("String_Node_Str");
        remove.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            addTextToConsole("String_Node_Str" + nodeList.getSelectedIndex());
          }
        }
);
        JMenuItem addRule=new JMenuItem("String_Node_Str");
        addRule.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            addTextToConsole("String_Node_Str" + nodeList.getSelectedIndex());
          }
        }
);
        menu.add(show);
        menu.add(remove);
        menu.show(nodeList,arg0.getPoint().x,arg0.getPoint().y);
      }
 else       if (SwingUtilities.isLeftMouseButton(arg0)) {
        showNode(nodeList.getSelectedValue());
        addTextToConsole("String_Node_Str" + nodeList.getSelectedIndex());
      }
    }
  }
);
  rulesList.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent arg0){
      if (SwingUtilities.isRightMouseButton(arg0)) {
        rulesList.setSelectedIndex(rulesList.locationToIndex(arg0.getPoint()));
        JPopupMenu menu=new JPopupMenu();
        JMenuItem show=new JMenuItem("String_Node_Str");
        show.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            addTextToConsole("String_Node_Str" + rulesList.getSelectedIndex());
          }
        }
);
        JMenuItem remove=new JMenuItem("String_Node_Str");
        remove.addActionListener(new ActionListener(){
          @Override public void actionPerformed(          ActionEvent e){
            addTextToConsole("String_Node_Str" + rulesList.getSelectedIndex());
          }
        }
);
        menu.add(show);
        menu.add(remove);
        menu.show(rulesList,arg0.getPoint().x,arg0.getPoint().y);
      }
    }
  }
);
  mntmSave.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent arg0){
      if (wasChanged) {
        MISProject.saveProject();
        mntmSave.setEnabled(false);
        wasChanged=false;
        mnFile.getPopupMenu().setVisible(false);
      }
    }
  }
);
  mntmLoadScene.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      String[] possiblities=new String[MISProject.project.scenes.size()];
      for (int i=0; i < possiblities.length; i++) {
        possiblities[i]=MISProject.project.scenes.get(i).name;
      }
      if (possiblities.length > 0) {
        String s=(String)JOptionPane.showInputDialog(frame,"String_Node_Str","String_Node_Str",JOptionPane.PLAIN_MESSAGE,null,possiblities,possiblities[0]);
        if ((s != null) && (s.length() > 0)) {
          MISScene scene=null;
          for (int i=0; i < possiblities.length; i++) {
            if (possiblities[i].equals(s)) {
              scene=MISProject.project.scenes.get(i);
              break;
            }
          }
          if (scene != null) {
            createNodeList(scene);
          }
        }
      }
    }
  }
);
  mntmNewProject.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      MISProject.saveProject();
      mntmSave.setEnabled(false);
      wasChanged=false;
      mnFile.getPopupMenu().setVisible(false);
      frame.dispose();
      String[] args={};
      ApplicationWindow.main(args);
    }
  }
);
  mntmProjectSettings.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnFile.getPopupMenu().setVisible(false);
    }
  }
);
  mntmBuildSettings.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnFile.getPopupMenu().setVisible(false);
    }
  }
);
  mntmRun.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnFile.getPopupMenu().setVisible(false);
    }
  }
);
  mntmBuild.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnFile.getPopupMenu().setVisible(false);
    }
  }
);
  mntmQuit.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      MISProject.saveProject();
      mntmSave.setEnabled(false);
      wasChanged=false;
      mnFile.getPopupMenu().setVisible(false);
      int dialogResult=JOptionPane.showConfirmDialog(null,"String_Node_Str");
      if (dialogResult == JOptionPane.YES_OPTION) {
        frame.dispose();
      }
    }
  }
);
  mntmUndo.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnEdit.getPopupMenu().setVisible(false);
    }
  }
);
  mntmRedo.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnEdit.getPopupMenu().setVisible(false);
    }
  }
);
  mntmConsole.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnWindow.getPopupMenu().setVisible(false);
    }
  }
);
  mntmAbout.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnHelp.getPopupMenu().setVisible(false);
    }
  }
);
  mntmManual.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnHelp.getPopupMenu().setVisible(false);
    }
  }
);
  mntmReportABug.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnHelp.getPopupMenu().setVisible(false);
    }
  }
);
  mntmSuggestAnImprovement.addMouseListener(new MouseAdapter(){
    @Override public void mousePressed(    MouseEvent e){
      JOptionPane.showMessageDialog(null,"String_Node_Str");
      mnHelp.getPopupMenu().setVisible(false);
    }
  }
);
}