Program: 162994
Project: 162994
Buggy source:
private static String generateWriteBody(DataValueModel<?> dvModel,SortedSet<Class> imported){
  StringBuilder write=new StringBuilder();
  Map.Entry<String,FieldModel>[] entries=heapSizeOrderedFields(dvModel);
  for (  Map.Entry<String,FieldModel> entry : entries) {
    String name=entry.getKey();
    FieldModel model=entry.getValue();
    Class type=model.type();
    if (shouldImport(type))     imported.add(type);
    Method setter=getSetter(model);
    Method getter=getGetter(model);
    Method orderedSetter=getOrderedSetter(model);
    Method volatileGetter=getVolatileGetter(model);
    Method defaultSetter=setter != null ? setter : orderedSetter;
    Method defaultGetter=getter != null ? getter : volatileGetter;
    if (!dvModel.isScalar(type)) {
      if (model.isArray()) {
        write.append("String_Node_Str").append(model.indexSize().value()).append("String_Node_Str");
        write.append("String_Node_Str").append(normalize(type)).append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        write.append("String_Node_Str").append("String_Node_Str");
        write.append("String_Node_Str").append(bytesWriterName(type,false)).append("String_Node_Str").append("String_Node_Str");
        write.append("String_Node_Str");
      }
 else {
        write.append("String_Node_Str").append(normalize(type)).append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        write.append("String_Node_Str").append("String_Node_Str");
        write.append("String_Node_Str").append(bytesWriterName(type,false)).append("String_Node_Str").append("String_Node_Str");
      }
    }
 else {
      if (model.isArray()) {
        write.append("String_Node_Str").append(model.indexSize().value()).append("String_Node_Str");
        if (CharSequence.class.isAssignableFrom(type))         write.append("String_Node_Str");
        write.append("String_Node_Str").append(bytesType(type)).append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        if (CharSequence.class.isAssignableFrom(type))         write.append("String_Node_Str").append(fieldSize(model)).append("String_Node_Str");
        write.append("String_Node_Str");
      }
 else {
        write.append("String_Node_Str");
        if (CharSequence.class.isAssignableFrom(type))         write.append("String_Node_Str");
        write.append("String_Node_Str").append(bytesType(type)).append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        if (CharSequence.class.isAssignableFrom(type))         write.append("String_Node_Str").append(fieldSize(model)).append("String_Node_Str");
        write.append("String_Node_Str");
      }
    }
  }
  return write.toString();
}

Fixed version (ground truth):
private static String generateWriteBody(DataValueModel<?> dvModel,SortedSet<Class> imported){
  StringBuilder write=new StringBuilder();
  Map.Entry<String,FieldModel>[] entries=heapSizeOrderedFields(dvModel);
  for (  Map.Entry<String,FieldModel> entry : entries) {
    String name=entry.getKey();
    FieldModel model=entry.getValue();
    Class type=model.type();
    if (shouldImport(type))     imported.add(type);
    Method setter=getSetter(model);
    Method getter=getGetter(model);
    Method orderedSetter=getOrderedSetter(model);
    Method volatileGetter=getVolatileGetter(model);
    Method defaultSetter=setter != null ? setter : orderedSetter;
    Method defaultGetter=getter != null ? getter : volatileGetter;
    if (!dvModel.isScalar(type)) {
      if (model.isArray()) {
        write.append("String_Node_Str").append(model.indexSize().value()).append("String_Node_Str");
        write.append("String_Node_Str").append(normalize(type)).append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        write.append("String_Node_Str").append("String_Node_Str");
        write.append("String_Node_Str").append(bytesWriterName(type,false)).append("String_Node_Str").append("String_Node_Str");
        write.append("String_Node_Str");
      }
 else {
        write.append("String_Node_Str").append(normalize(type)).append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        write.append("String_Node_Str").append("String_Node_Str");
        write.append("String_Node_Str").append(bytesWriterName(type,false)).append("String_Node_Str").append("String_Node_Str");
      }
    }
 else {
      if (model.isArray()) {
        write.append("String_Node_Str").append(model.indexSize().value()).append("String_Node_Str");
        saveCharSequencePosition(write,type);
        write.append("String_Node_Str").append(bytesType(type)).append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        zeroOutRemainingCharSequenceBytesAndUpdatePosition(write,model,type);
        write.append("String_Node_Str");
      }
 else {
        write.append("String_Node_Str");
        saveCharSequencePosition(write,type);
        write.append("String_Node_Str").append(bytesType(type)).append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        zeroOutRemainingCharSequenceBytesAndUpdatePosition(write,model,type);
        write.append("String_Node_Str");
      }
    }
  }
  return write.toString();
}