Program: 11968
Project: 11968
Buggy source:
@Override public String getInstantiationSourceCode(Configuration config,ClassMeta classMeta,ConstructorMeta constructorMeta){
  StringBuilder buf=new StringBuilder();
  if (constructorMeta == null) {
    appendTabs(buf,2);
    buf.append(classMeta.name);
    buf.append("String_Node_Str");
    buf.append(StringValue.Semicolon);
    appendCRLF(buf);
  }
 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());
            if (!ins.assignCode.endsWith(StringValue.Semicolon)) {
              buf.append(StringValue.Semicolon);
            }
            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();
}

Fixed version (ground truth):
@Override public String getInstantiationSourceCode(Configuration config,ClassMeta classMeta,ConstructorMeta constructorMeta){
  StringBuilder buf=new StringBuilder();
  if (constructorMeta == null) {
    appender.appendTabs(buf,2);
    buf.append(classMeta.name);
    buf.append("String_Node_Str");
    buf.append(StringValue.Semicolon);
    appender.appendLineBreak(buf);
  }
 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) {
              appender.appendExtensionSourceCode(buf,ins.preAssignCode);
            }
            appender.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());
            if (!ins.assignCode.endsWith(StringValue.Semicolon)) {
              buf.append(StringValue.Semicolon);
            }
            appender.appendLineBreak(buf);
            if (ins.postAssignCode != null && ins.postAssignCode.trim().length() > 0) {
              appender.appendExtensionPostAssignSourceCode(buf,ins.postAssignCode,new String[]{"String_Node_Str"},constructorMeta.argNames.get(i));
            }
            isAssigned=true;
          }
        }
      }
      if (!isAssigned) {
        appender.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);
        appender.appendLineBreak(buf);
      }
    }
    appender.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);
    appender.appendLineBreak(buf);
  }
  return buf.toString();
}