Program: 60619
Project: 60619
Buggy source:
void writeGetConstructionProxy() throws IOException {
  out.writeLine("String_Node_Str",SuppressWarnings.class);
  out.openScope("String_Node_Str");
  for (  Map.Entry<Class<?>,ConstructionProxy<?>> entry : constructionProxies.entrySet()) {
    Class<?> implementation=entry.getKey();
    out.openScope("String_Node_Str",implementation);
    out.openScope("String_Node_Str",ConstructionProxy.class,ConstructionProxy.class,implementation);
    out.openScope("String_Node_Str",implementation,Object.class,InvocationTargetException.class);
    out.openScope("String_Node_Str",implementation);
    int argument=0;
    for (Iterator<Parameter<?>> i=entry.getValue().getParameters().iterator(); i.hasNext(); ) {
      Parameter<?> parameter=i.next();
      String separator=i.hasNext() ? "String_Node_Str" : "String_Node_Str";
      out.writeLine("String_Node_Str",parameter.getKey().getTypeLiteral().getType(),argument,separator);
      argument++;
    }
    out.closeScope("String_Node_Str");
    out.closeScope("String_Node_Str");
    out.openScope("String_Node_Str",List.class,Parameter.class);
    out.openScope("String_Node_Str",Arrays.class,Parameter.class);
    argument=0;
    for (Iterator<Parameter<?>> i=entry.getValue().getParameters().iterator(); i.hasNext(); ) {
      Parameter<?> parameter=i.next();
      String separator=i.hasNext() ? "String_Node_Str" : "String_Node_Str";
      out.writeLine("String_Node_Str",Parameter.class,argument,keyLiteral(parameter.getKey()),Nullability.class,parameter.getNullability(),separator);
      argument++;
    }
    out.closeScope("String_Node_Str");
    out.closeScope("String_Node_Str");
    out.openScope("String_Node_Str",Member.class);
    out.writeLine("String_Node_Str");
    out.closeScope("String_Node_Str");
    out.closeScope("String_Node_Str");
    out.closeScope("String_Node_Str");
  }
  out.writeLine();
  out.writeLine("String_Node_Str",IllegalArgumentException.class);
  out.closeScope("String_Node_Str");
}

Fixed version (ground truth):
void writeGetConstructionProxy() throws IOException {
  out.writeLine("String_Node_Str",SuppressWarnings.class).openScope("String_Node_Str",ConstructionProxy.class,Class.class);
  for (  Map.Entry<Class<?>,ConstructionProxy<?>> entry : constructionProxies.entrySet()) {
    Class<?> implementation=entry.getKey();
    out.openScope("String_Node_Str",implementation).openScope("String_Node_Str",ConstructionProxy.class,ConstructionProxy.class,implementation);
    out.openScope("String_Node_Str",implementation,Object.class,InvocationTargetException.class).openScope("String_Node_Str",implementation);
    int argument=0;
    for (Iterator<Parameter<?>> i=entry.getValue().getParameters().iterator(); i.hasNext(); ) {
      Parameter<?> parameter=i.next();
      String separator=i.hasNext() ? "String_Node_Str" : "String_Node_Str";
      out.writeLine("String_Node_Str",parameter.getKey().getTypeLiteral().getType(),argument,separator);
      argument++;
    }
    out.closeScope("String_Node_Str").closeScope("String_Node_Str");
    out.openScope("String_Node_Str",List.class,Parameter.class).openScope("String_Node_Str",Arrays.class,Parameter.class);
    argument=0;
    for (Iterator<Parameter<?>> i=entry.getValue().getParameters().iterator(); i.hasNext(); ) {
      Parameter<?> parameter=i.next();
      String separator=i.hasNext() ? "String_Node_Str" : "String_Node_Str";
      out.writeLine("String_Node_Str",Parameter.class,argument,keyLiteral(parameter.getKey()),Nullability.class,parameter.getNullability(),separator);
      argument++;
    }
    out.closeScope("String_Node_Str").closeScope("String_Node_Str");
    out.openScope("String_Node_Str",Member.class).writeLine("String_Node_Str").closeScope("String_Node_Str");
    out.closeScope("String_Node_Str").closeScope("String_Node_Str");
  }
  out.writeLine().writeLine("String_Node_Str",IllegalArgumentException.class).closeScope("String_Node_Str");
}