Program: 53951
Project: 53951
Buggy source:
/** 
 * For interfaces that consist of nothing more than getters and setters, create a map-based implementation that will allow the AutoBean's internal state to be easily consumed.
 */
private void writeCreateSimpleBean(SourceWriter sw,AutoBeanType type){
  sw.println("String_Node_Str",type.getPeerType().getQualifiedSourceName());
  sw.indent();
  sw.println("String_Node_Str",type.getPeerType().getQualifiedSourceName());
  sw.indent();
  for (  AutoBeanMethod method : type.getMethods()) {
    JMethod jmethod=method.getMethod();
    sw.println("String_Node_Str",getBaseMethodDeclaration(jmethod));
    sw.indent();
switch (method.getAction()) {
case GET:
{
        JPrimitiveType primitive=jmethod.getReturnType().isPrimitive();
        if (primitive != null) {
          sw.println("String_Node_Str",method.getPropertyName());
          sw.println("String_Node_Str");
          sw.indentln("String_Node_Str",primitive.getUninitializedFieldExpression());
          sw.println("String_Node_Str");
          sw.indentln("String_Node_Str",primitive.getQualifiedBoxedSourceName());
          sw.println("String_Node_Str");
        }
 else {
          sw.println("String_Node_Str",AutoBeanFactoryModel.ensureBaseType(jmethod.getReturnType()).getQualifiedSourceName(),method.getPropertyName());
        }
      }
    break;
case SET:
  sw.println("String_Node_Str",method.getPropertyName(),jmethod.getParameters()[0].getName());
break;
case CALL:
JMethod staticImpl=method.getStaticImpl();
if (!jmethod.getReturnType().equals(JPrimitiveType.VOID)) {
sw.print("String_Node_Str");
}
sw.print("String_Node_Str",staticImpl.getEnclosingType().getQualifiedSourceName(),staticImpl.getName(),type.getSimpleSourceName());
for (JParameter param : jmethod.getParameters()) {
sw.print("String_Node_Str",param.getName());
}
sw.println("String_Node_Str");
break;
default :
throw new RuntimeException();
}
sw.outdent();
sw.println("String_Node_Str");
}
sw.outdent();
sw.println("String_Node_Str");
sw.outdent();
sw.println("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * For interfaces that consist of nothing more than getters and setters, create a map-based implementation that will allow the AutoBean's internal state to be easily consumed.
 */
private void writeCreateSimpleBean(SourceWriter sw,AutoBeanType type){
  sw.println("String_Node_Str",type.getPeerType().getQualifiedSourceName());
  sw.indent();
  sw.println("String_Node_Str",type.getPeerType().getQualifiedSourceName());
  sw.indent();
  for (  AutoBeanMethod method : type.getMethods()) {
    JMethod jmethod=method.getMethod();
    sw.println("String_Node_Str",getBaseMethodDeclaration(jmethod));
    sw.indent();
switch (method.getAction()) {
case GET:
{
        JPrimitiveType primitive=jmethod.getReturnType().isPrimitive();
        if (primitive != null) {
          sw.println("String_Node_Str",method.getPropertyName());
          sw.println("String_Node_Str");
          sw.indentln("String_Node_Str",primitive.getUninitializedFieldExpression());
          sw.println("String_Node_Str");
          sw.indentln("String_Node_Str",primitive.getQualifiedBoxedSourceName());
          sw.println("String_Node_Str");
        }
 else {
          sw.println("String_Node_Str",ModelUtils.getQualifiedBaseName(jmethod.getReturnType()),method.getPropertyName());
        }
      }
    break;
case SET:
  sw.println("String_Node_Str",method.getPropertyName(),jmethod.getParameters()[0].getName());
break;
case CALL:
JMethod staticImpl=method.getStaticImpl();
if (!jmethod.getReturnType().equals(JPrimitiveType.VOID)) {
sw.print("String_Node_Str");
}
sw.print("String_Node_Str",staticImpl.getEnclosingType().getQualifiedSourceName(),staticImpl.getName(),type.getSimpleSourceName());
for (JParameter param : jmethod.getParameters()) {
sw.print("String_Node_Str",param.getName());
}
sw.println("String_Node_Str");
break;
default :
throw new RuntimeException();
}
sw.outdent();
sw.println("String_Node_Str");
}
sw.outdent();
sw.println("String_Node_Str");
sw.outdent();
sw.println("String_Node_Str");
}