Program: 175869
Project: 175869
Buggy source:
private void selected(PlanSkeleton skel,Node house,SuperFace sf,SuperEdge se){
  JPanel ui=new JPanel();
  ui.setLayout(new ListDownLayout());
  JButton fac=new JButton("String_Node_Str");
  fac.addActionListener(e -> editFacade(skel,sf,se));
  ui.add(fac);
  JButton proc=new JButton("String_Node_Str");
  proc.addActionListener(e -> cgaFacade(skel,sf,se));
  ui.add(proc);
  JButton camp=new JButton("String_Node_Str");
  camp.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      closeSitePlan();
      Plot.closeLast();
      for (      HalfEdge he : sf) {
        SuperEdge ee=(SuperEdge)he;
        if (ee.toEdit != null)         ee.toEdit.texture=null;
      }
      siteplan=new Siteplan(skel.plan,false){
        SuperFace workon=sf;
        public void show(        Output output,        Skeleton threadKey){
          super.show(output,threadKey);
          tweed.enqueue(new Runnable(){
            @Override public void run(){
              removeGeometryFor(workon);
              tweed.frame.setGenUI(null);
              setSkel((PlanSkeleton)threadKey,output,workon);
            }
          }
);
        }
      }
;
      siteplan.setVisible(true);
      siteplan.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    }
  }
);
  ui.add(camp);
  JButton plan=new JButton("String_Node_Str");
  plan.addActionListener(e -> new Plot(toRender,footprint));
  ui.add(plan);
  JButton b=new JButton("String_Node_Str");
  b.addActionListener(e -> SkelFootprint.debugFindCleanProfiles(footprint,this,new ProgressMonitor(null,"String_Node_Str","String_Node_Str",0,100),tweed));
  ui.add(b);
  JButton c=new JButton("String_Node_Str");
  c.addActionListener(e -> skelFootprint.debugCompareProfs(skelFootprint.globalProfs));
  ui.add(c);
  JButton mini=new JButton("String_Node_Str");
  mini.addActionListener(e -> new MiniViewer(se));
  if (sf != null)   ui.add(mini);
  JButton prof=new JButton("String_Node_Str");
  prof.addActionListener(e -> new ProfileAssignmentViewer(sf,skelFootprint == null ? null : skelFootprint.globalProfs));
  ui.add(prof);
  JButton remove=new JButton("String_Node_Str");
  remove.addActionListener(e -> {
    visible=false;
    calculateOnJmeThread();
    tweed.frame.removeGen(SkelGen.this);
  }
);
  ui.add(remove);
  tweed.frame.setGenUI(ui);
}

Fixed version (ground truth):
private void selected(PlanSkeleton skel,Node house,SuperFace sf,SuperEdge se){
  JPanel ui=new JPanel();
  ui.setLayout(new ListDownLayout());
  JButton fac=new JButton("String_Node_Str");
  fac.addActionListener(e -> editFacade(skel,sf,se));
  ui.add(fac);
  JButton proc=new JButton("String_Node_Str");
  proc.addActionListener(e -> cgaFacade(skel,sf,se));
  ui.add(proc);
  JButton camp=new JButton("String_Node_Str");
  camp.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      closeSitePlan();
      Plot.closeLast();
      for (      HalfEdge he : sf) {
        SuperEdge ee=(SuperEdge)he;
        if (ee.toEdit != null)         ee.toEdit.texture=null;
      }
      siteplan=new Siteplan(skel.plan,false){
        SuperFace workon=sf;
        public void show(        Output output,        Skeleton threadKey){
          super.show(output,threadKey);
          tweed.enqueue(new Runnable(){
            @Override public void run(){
              removeGeometryFor(workon);
              tweed.frame.setGenUI(null);
              setSkel((PlanSkeleton)threadKey,workon,lastOccluders);
            }
          }
);
        }
      }
;
      siteplan.setVisible(true);
      siteplan.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    }
  }
);
  ui.add(camp);
  JButton plan=new JButton("String_Node_Str");
  plan.addActionListener(e -> new Plot(toRender,footprint));
  ui.add(plan);
  JButton b=new JButton("String_Node_Str");
  b.addActionListener(e -> SkelFootprint.debugFindCleanProfiles(footprint,this,new ProgressMonitor(null,"String_Node_Str","String_Node_Str",0,100),tweed));
  ui.add(b);
  JButton c=new JButton("String_Node_Str");
  c.addActionListener(e -> skelFootprint.debugCompareProfs(skelFootprint.globalProfs));
  ui.add(c);
  JButton mini=new JButton("String_Node_Str");
  mini.addActionListener(e -> new MiniViewer(se));
  if (sf != null)   ui.add(mini);
  JButton prof=new JButton("String_Node_Str");
  prof.addActionListener(e -> new ProfileAssignmentViewer(sf,skelFootprint == null ? null : skelFootprint.globalProfs));
  ui.add(prof);
  JButton remove=new JButton("String_Node_Str");
  remove.addActionListener(e -> {
    visible=false;
    calculateOnJmeThread();
    tweed.frame.removeGen(SkelGen.this);
  }
);
  ui.add(remove);
  tweed.frame.setGenUI(ui);
}