Program: 11980
Project: 11980
Buggy source:
@Override public String getInstantiationSourceCode(ClassMeta classMeta,ConstructorMeta constructorMeta){
  StringBuilder buf=new StringBuilder();
  if (constructorMeta == null) {
    buf.append(StringValue.Tab);
    buf.append(StringValue.Tab);
    buf.append(classMeta.name);
    buf.append("String_Node_Str");
    buf.append(StringValue.Semicolon);
    buf.append(StringValue.CarriageReturn);
    buf.append(StringValue.LineFeed);
  }
 else {
    int len=constructorMeta.argTypes.size();
    for (int i=0; i < len; i++) {
      buf.append(StringValue.Tab);
      buf.append(StringValue.Tab);
      String typeName=constructorMeta.argTypes.get(i).name;
      buf.append(typeName);
      buf.append("String_Node_Str");
      buf.append(constructorMeta.argNames.get(i));
      buf.append("String_Node_Str");
      if (PrimitiveTypeUtil.isPrimitive(typeName)) {
        buf.append(PrimitiveTypeUtil.getTypeDefaultValue(typeName));
      }
 else {
        buf.append("String_Node_Str");
      }
      buf.append(StringValue.Semicolon);
      buf.append(StringValue.CarriageReturn);
      buf.append(StringValue.LineFeed);
    }
    buf.append(StringValue.Tab);
    buf.append(StringValue.Tab);
    buf.append(classMeta.name);
    buf.append("String_Node_Str");
    buf.append(classMeta.name);
    buf.append("String_Node_Str");
    if (len > 0) {
      buf.append(constructorMeta.argNames.get(0));
    }
    if (len > 1) {
      for (int i=1; i < len; i++) {
        buf.append(StringValue.Comma);
        buf.append(StringValue.Space);
        buf.append(constructorMeta.argNames.get(i));
      }
    }
    buf.append("String_Node_Str");
    buf.append(StringValue.Semicolon);
    buf.append(StringValue.CarriageReturn);
    buf.append(StringValue.LineFeed);
  }
  return buf.toString();
}

Fixed version (ground truth):
@Override public String getInstantiationSourceCode(Configuration config,ClassMeta classMeta,ConstructorMeta constructorMeta){
  StringBuilder buf=new StringBuilder();
  if (constructorMeta == null) {
    buf.append(StringValue.Tab);
    buf.append(StringValue.Tab);
    buf.append(classMeta.name);
    buf.append("String_Node_Str");
    buf.append(StringValue.Semicolon);
    buf.append(StringValue.CarriageReturn);
    buf.append(StringValue.LineFeed);
  }
 else {
    int len=constructorMeta.argTypes.size();
    for (int i=0; i < len; i++) {
      String typeName=constructorMeta.argTypes.get(i).name;
      boolean isAssigned=false;
      if (config.isExtensionEnabled && config.extConfiguration.extInstantiations != null) {
        for (        ExtInstantiation ins : config.extConfiguration.extInstantiations) {
          if (isCanonicalClassNameUsed(ins.canonicalClassName,typeName,classMeta)) {
            for (            String newImport : ins.importList) {
              classMeta.importedList.add(newImport);
            }
            if (ins.preAssignCode != null && ins.preAssignCode.trim().length() > 0) {
              appendExtensionSourceCode(buf,ins.preAssignCode);
            }
            appendTabs(buf,2);
            buf.append(typeName);
            buf.append("String_Node_Str");
            buf.append(constructorMeta.argNames.get(i));
            buf.append("String_Node_Str");
            buf.append(ins.assignCode.trim());
            appendCRLF(buf);
            if (ins.postAssignCode != null && ins.postAssignCode.trim().length() > 0) {
              appendExtensionPostAssignSourceCode(buf,ins.postAssignCode,new String[]{"String_Node_Str"},constructorMeta.argNames.get(i));
            }
            isAssigned=true;
          }
        }
      }
      if (!isAssigned) {
        appendTabs(buf,2);
        buf.append(typeName);
        buf.append("String_Node_Str");
        buf.append(constructorMeta.argNames.get(i));
        buf.append("String_Node_Str");
        if (PrimitiveTypeUtil.isPrimitive(typeName)) {
          buf.append(PrimitiveTypeUtil.getTypeDefaultValue(typeName));
        }
 else {
          buf.append("String_Node_Str");
        }
        buf.append(StringValue.Semicolon);
        appendCRLF(buf);
      }
    }
    appendTabs(buf,2);
    buf.append(classMeta.name);
    buf.append("String_Node_Str");
    buf.append(classMeta.name);
    buf.append("String_Node_Str");
    if (len > 0) {
      buf.append(constructorMeta.argNames.get(0));
    }
    if (len > 1) {
      for (int i=1; i < len; i++) {
        buf.append(StringValue.Comma);
        buf.append(StringValue.Space);
        buf.append(constructorMeta.argNames.get(i));
      }
    }
    buf.append("String_Node_Str");
    buf.append(StringValue.Semicolon);
    appendCRLF(buf);
  }
  return buf.toString();
}