Program: 81157
Project: 81157
Buggy source:
public void inject(ClassNode classNode,String artifactType){
  injectProperty(classNode,APP,ACC_PUBLIC,GRIFFON_APPLICATION_CLASS);
  FieldNode _metaClass=injectField(classNode,"String_Node_Str",ACC_PRIVATE | ACC_SYNTHETIC,ClassHelper.METACLASS_TYPE,ConstantExpression.NULL);
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,ClassHelper.METACLASS_TYPE,Parameter.EMPTY_ARRAY,ClassNode.EMPTY_ARRAY,block(ifs(ne(field(_metaClass),ConstantExpression.NULL),field(_metaClass)),decls(var("String_Node_Str",ClassHelper.METACLASS_TYPE),ConstantExpression.NULL),ifs_no_return(iof(THIS,EXPANDO_METACLASS_CLASS),assigns(field(_metaClass),var("String_Node_Str")),assigns(field(_metaClass),call(ABSTRACT_GRIFFON_ARTIFACT_CLASS,"String_Node_Str",args(THIS)))),returns(field(_metaClass)))));
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,ClassHelper.VOID_TYPE,params(param(ClassHelper.METACLASS_TYPE,"String_Node_Str")),ClassNode.EMPTY_ARRAY,block(assigns(field(_metaClass),var("String_Node_Str")),stmnt(call(call(GROOVY_SYSTEM_CLASS,"String_Node_Str",NO_ARGS),"String_Node_Str",args(call(THIS,"String_Node_Str",NO_ARGS),var("String_Node_Str")))))));
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,GRIFFON_CLASS_CLASS,Parameter.EMPTY_ARRAY,ClassNode.EMPTY_ARRAY,returns(call(call(call(THIS,"String_Node_Str",NO_ARGS),"String_Node_Str",NO_ARGS),"String_Node_Str",args(classx(classNode))))));
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,newClass(ClassHelper.OBJECT_TYPE),params(param(newClass(ClassHelper.CLASS_Type),"String_Node_Str"),param(ClassHelper.STRING_TYPE,"String_Node_Str")),ClassNode.EMPTY_ARRAY,returns(call(GAH_CLASS,"String_Node_Str",vars(APP,"String_Node_Str","String_Node_Str")))));
  String loggerCategory="String_Node_Str" + artifactType + "String_Node_Str"+ classNode.getName();
  FieldNode loggerField=injectField(classNode,"String_Node_Str",ACC_FINAL | ACC_PRIVATE | ACC_SYNTHETIC,LOGGER_CLASS,call(LOGGER_FACTORY_CLASS,"String_Node_Str",args(constx(loggerCategory))));
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,LOGGER_CLASS,Parameter.EMPTY_ARRAY,ClassNode.EMPTY_ARRAY,returns(field(loggerField))));
  ThreadingAwareASTTransformation.apply(classNode);
  MVCAwareASTTransformation.apply(classNode);
}

Fixed version (ground truth):
public void inject(ClassNode classNode,String artifactType){
  injectProperty(classNode,APP,ACC_PUBLIC,GRIFFON_APPLICATION_CLASS);
  FieldNode _metaClass=injectField(classNode,"String_Node_Str",ACC_PRIVATE | ACC_SYNTHETIC,ClassHelper.METACLASS_TYPE,ConstantExpression.NULL);
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,ClassHelper.METACLASS_TYPE,Parameter.EMPTY_ARRAY,ClassNode.EMPTY_ARRAY,block(ifs(ne(field(_metaClass),ConstantExpression.NULL),field(_metaClass)),decls(var("String_Node_Str",ClassHelper.METACLASS_TYPE),ConstantExpression.NULL),ifs_no_return(iof(THIS,EXPANDO_METACLASS_CLASS),assigns(field(_metaClass),var("String_Node_Str")),assigns(field(_metaClass),call(ABSTRACT_GRIFFON_ARTIFACT_CLASS,"String_Node_Str",args(THIS)))),returns(field(_metaClass)))));
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,ClassHelper.VOID_TYPE,params(param(ClassHelper.METACLASS_TYPE,"String_Node_Str")),ClassNode.EMPTY_ARRAY,block(assigns(field(_metaClass),var("String_Node_Str")),stmnt(call(call(GROOVY_SYSTEM_CLASS,"String_Node_Str",NO_ARGS),"String_Node_Str",args(call(THIS,"String_Node_Str",NO_ARGS),var("String_Node_Str")))))));
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,GRIFFON_CLASS_CLASS,Parameter.EMPTY_ARRAY,ClassNode.EMPTY_ARRAY,returns(call(call(call(THIS,"String_Node_Str",NO_ARGS),"String_Node_Str",NO_ARGS),"String_Node_Str",args(call(THIS,"String_Node_Str",NO_ARGS))))));
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,newClass(ClassHelper.OBJECT_TYPE),params(param(newClass(ClassHelper.CLASS_Type),"String_Node_Str"),param(ClassHelper.STRING_TYPE,"String_Node_Str")),ClassNode.EMPTY_ARRAY,returns(call(GAH_CLASS,"String_Node_Str",vars(APP,"String_Node_Str","String_Node_Str")))));
  String loggerCategory="String_Node_Str" + artifactType + "String_Node_Str"+ classNode.getName();
  FieldNode loggerField=injectField(classNode,"String_Node_Str",ACC_FINAL | ACC_PRIVATE | ACC_SYNTHETIC,LOGGER_CLASS,call(LOGGER_FACTORY_CLASS,"String_Node_Str",args(constx(loggerCategory))));
  injectMethod(classNode,new MethodNode("String_Node_Str",ACC_PUBLIC,LOGGER_CLASS,Parameter.EMPTY_ARRAY,ClassNode.EMPTY_ARRAY,returns(field(loggerField))));
  ThreadingAwareASTTransformation.apply(classNode);
  MVCAwareASTTransformation.apply(classNode);
}