Program: 175890
Project: 175890
Buggy source:
@Override public JComponent getUI(){
  JPanel out=new JPanel(new ListDownLayout());
  JButton render=new JButton("String_Node_Str");
  render.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      int c=0;
      for (      Pano pg : nearby)       render(new File(Tweed.DATA + "String_Node_Str" + (c++)),40f,pg,null,FeatureCache.RENDERED_IMAGE);
    }
  }
);
  out.add(render);
  JButton load=new JButton("String_Node_Str");
  load.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JFileChooser fileChooser=new JFileChooser(lastLocation == null ? new File((System.getProperty("String_Node_Str") + "String_Node_Str")) : lastLocation);
      fileChooser.setFileFilter(new FileFilter(){
        @Override public String getDescription(){
          return "String_Node_Str";
        }
        @Override public boolean accept(        File f){
          return f.isDirectory() || f.getName().toLowerCase().endsWith("String_Node_Str");
        }
      }
);
      if (fileChooser.showOpenDialog(out) == JFileChooser.APPROVE_OPTION) {
        windows.clear();
        File csv=fileChooser.getSelectedFile();
        lastLocation=csv.getParentFile();
        try (Stream<String> stream=Files.lines(csv.toPath())){
          stream.forEach(new Consumer<String>(){
            @Override public void accept(            String line){
              if (line.startsWith("String_Node_Str"))               return;
              double ppm=40;
              String[] vals=line.split("String_Node_Str");
              try {
                windows.add(new Window(30 - Double.parseDouble(vals[0]) / ppm,Double.parseDouble(vals[1]) / ppm,30 - Double.parseDouble(vals[2]) / ppm,Double.parseDouble(vals[3]) / ppm));
              }
 catch (              Throwable th) {
                System.err.println("String_Node_Str" + line + "String_Node_Str");
                th.printStackTrace();
              }
            }
          }
);
        }
 catch (        Throwable th) {
          th.printStackTrace();
        }
      }
      calculateOnJmeThread();
    }
  }
);
  out.add(load);
  return out;
}

Fixed version (ground truth):
@Override public JComponent getUI(){
  JPanel out=new JPanel(new ListDownLayout());
  JButton render=new JButton("String_Node_Str");
  render.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      int c=0;
      for (      Pano pg : nearby)       render(new File(Tweed.DATA + "String_Node_Str" + (c++)),FacadeTool.pixelsPerMeter,pg,null,FeatureCache.RENDERED_IMAGE);
    }
  }
);
  out.add(render);
  JButton load=new JButton("String_Node_Str");
  load.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JFileChooser fileChooser=new JFileChooser(lastLocation == null ? new File((System.getProperty("String_Node_Str") + "String_Node_Str")) : lastLocation);
      fileChooser.setFileFilter(new FileFilter(){
        @Override public String getDescription(){
          return "String_Node_Str";
        }
        @Override public boolean accept(        File f){
          return f.isDirectory() || f.getName().toLowerCase().endsWith("String_Node_Str");
        }
      }
);
      if (fileChooser.showOpenDialog(out) == JFileChooser.APPROVE_OPTION) {
        windows.clear();
        File csv=fileChooser.getSelectedFile();
        lastLocation=csv.getParentFile();
        try (Stream<String> stream=Files.lines(csv.toPath())){
          stream.forEach(new Consumer<String>(){
            @Override public void accept(            String line){
              if (line.startsWith("String_Node_Str"))               return;
              String[] vals=line.split("String_Node_Str");
              try {
                windows.add(new Window(30 - Double.parseDouble(vals[0]) / FacadeTool.pixelsPerMeter,Double.parseDouble(vals[1]) / FacadeTool.pixelsPerMeter,30 - Double.parseDouble(vals[2]) / FacadeTool.pixelsPerMeter,Double.parseDouble(vals[3]) / FacadeTool.pixelsPerMeter));
              }
 catch (              Throwable th) {
                System.err.println("String_Node_Str" + line + "String_Node_Str");
                th.printStackTrace();
              }
            }
          }
);
        }
 catch (        Throwable th) {
          th.printStackTrace();
        }
      }
      calculateOnJmeThread();
    }
  }
);
  out.add(load);
  return out;
}