Program: 59312
Project: 59312
Buggy source:
public static void main(String[] args) throws Exception {
  JFrame frame=new JFrame();
  frame.setLayout(new BorderLayout());
  frame.setSize(500,500);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  ArrayList<Indexed> items=new ArrayList<>();
  DelimitedReader reader=new DelimitedReader(new File("String_Node_Str"),1,"String_Node_Str");
  System.out.print("String_Node_Str");
  while (reader.hasNext()) {
    String[] parts=reader.next();
    if (parts == null) {
      continue;
    }
    double[] vals=new double[parts.length];
    for (int i=0; i < parts.length; i++) {
      vals[i]=Double.parseDouble(parts[i]);
    }
    items.add(new Indexed.ArrayWrapper(vals));
  }
  System.out.println(items.size() + "String_Node_Str");
  Glyphset<Double> dataset=WrappedCollection.wrap(items,new Indexed.ToRect(.05,2,3),new Indexed.ToValue<Indexed,Double>(4),Double.class);
  Renderer r=new ParallelGlyphs();
  Aggregator<Object,Integer> aggregator=new Numbers.Count();
  Transfer<Number,Color> transfer=new Numbers.Interpolate(new Color(255,0,0,25),new Color(255,0,0,255));
  final ARPanel panel=new ARPanel(aggregator,transfer,dataset,r);
  frame.add(panel,BorderLayout.CENTER);
  frame.setVisible(true);
  frame.revalidate();
  frame.validate();
  SwingUtilities.invokeAndWait(new Runnable(){
    public void run(){
      panel.zoomFit();
    }
  }
);
  int width=800;
  int height=800;
  AffineTransform vt=Util.zoomFit(dataset.bounds(),width,height);
  vt.invert();
  Aggregates<Integer> aggregates=r.reduce(dataset,aggregator,vt,width,height);
  Aggregates<Color> colors=r.transfer(aggregates,transfer);
  Util.asImage(colors,width,height,Color.white);
}

Fixed version (ground truth):
public static void main(String[] args) throws Exception {
  ArrayList<Indexed> items=new ArrayList<>();
  DelimitedReader reader=new DelimitedReader(new File("String_Node_Str"),1,"String_Node_Str");
  System.out.print("String_Node_Str");
  while (reader.hasNext()) {
    String[] parts=reader.next();
    if (parts == null) {
      continue;
    }
    double[] vals=new double[parts.length];
    for (int i=0; i < parts.length; i++) {
      vals[i]=Double.parseDouble(parts[i]);
    }
    items.add(new Indexed.ArrayWrapper(vals));
  }
  System.out.println(items.size() + "String_Node_Str");
  Glyphset<Double> dataset=WrappedCollection.wrap(items,new Indexed.ToRect(.05,2,3),new Indexed.ToValue<Indexed,Double>(4),Double.class);
  Renderer r=new ParallelGlyphs();
  Aggregator<Object,Integer> aggregator=new Numbers.Count();
  Transfer<Number,Color> transfer=new Numbers.Interpolate(new Color(255,0,0,25),new Color(255,0,0,255));
  int width=800;
  int height=800;
  AffineTransform vt=Util.zoomFit(dataset.bounds(),width,height);
  vt.invert();
  Aggregates<Integer> aggregates=r.aggregate(dataset,aggregator,vt,width,height);
  Aggregates<Color> colors=r.transfer(aggregates,transfer);
  @SuppressWarnings("String_Node_Str") BufferedImage image=Util.asImage(colors,width,height,Color.white);
  JFrame frame=new JFrame("String_Node_Str");
  frame.setLayout(new BorderLayout());
  frame.setSize(width,height);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.add(new ARDisplay(aggregates,transfer),BorderLayout.CENTER);
  frame.setVisible(true);
  frame.revalidate();
  frame.validate();
  JFrame frame2=new JFrame("String_Node_Str");
  frame2.setLayout(new BorderLayout());
  frame2.setSize(width,height);
  frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  final ARPanel panel=new ARPanel(aggregator,transfer,dataset,r);
  frame2.add(panel,BorderLayout.CENTER);
  frame2.setVisible(true);
  frame2.revalidate();
  frame2.validate();
  SwingUtilities.invokeAndWait(new Runnable(){
    public void run(){
      panel.zoomFit();
    }
  }
);
}