Program: 162993
Project: 162993
Buggy source:
private static StringBuilder generateReadBody(DataValueModel<?> dvModel,SortedSet<Class> imported){
  StringBuilder read=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()) {
        read.append("String_Node_Str").append(model.indexSize().value()).append("String_Node_Str");
        read.append("String_Node_Str").append(defaultSetter.getName()).append("String_Node_Str").append(bytesReaderName(type,false)).append("String_Node_Str").append("String_Node_Str").append(computeNonScalarOffset(dvModel,type)).append("String_Node_Str").append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        read.append("String_Node_Str");
      }
 else {
        read.append("String_Node_Str").append(defaultSetter.getName()).append("String_Node_Str").append(bytesReaderName(type,false)).append("String_Node_Str").append("String_Node_Str").append(computeNonScalarOffset(dvModel,type)).append("String_Node_Str").append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
      }
    }
 else {
      if (model.isArray()) {
        read.append("String_Node_Str").append(model.indexSize().value()).append("String_Node_Str");
        if (CharSequence.class.isAssignableFrom(type))         read.append("String_Node_Str");
        read.append("String_Node_Str").append(defaultSetter.getName()).append("String_Node_Str").append(bytesType(type)).append("String_Node_Str");
        if (CharSequence.class.isAssignableFrom(type))         read.append("String_Node_Str").append(fieldSize(model)).append("String_Node_Str");
        read.append("String_Node_Str");
      }
 else {
        read.append("String_Node_Str");
        if (CharSequence.class.isAssignableFrom(type))         read.append("String_Node_Str");
        read.append("String_Node_Str").append(defaultSetter.getName()).append("String_Node_Str").append(bytesType(type)).append("String_Node_Str");
        if (CharSequence.class.isAssignableFrom(type))         read.append("String_Node_Str").append(fieldSize(model)).append("String_Node_Str");
        read.append("String_Node_Str");
      }
    }
  }
  return read;
}

Fixed version (ground truth):
private static StringBuilder generateReadBody(DataValueModel<?> dvModel,SortedSet<Class> imported){
  StringBuilder read=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()) {
        read.append("String_Node_Str").append(model.indexSize().value()).append("String_Node_Str");
        read.append("String_Node_Str").append(defaultSetter.getName()).append("String_Node_Str").append(bytesReaderName(type,false)).append("String_Node_Str").append("String_Node_Str").append(computeNonScalarOffset(dvModel,type)).append("String_Node_Str").append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
        read.append("String_Node_Str");
      }
 else {
        read.append("String_Node_Str").append(defaultSetter.getName()).append("String_Node_Str").append(bytesReaderName(type,false)).append("String_Node_Str").append("String_Node_Str").append(computeNonScalarOffset(dvModel,type)).append("String_Node_Str").append("String_Node_Str").append(defaultGetter.getName()).append("String_Node_Str");
      }
    }
 else {
      if (model.isArray()) {
        read.append("String_Node_Str").append(model.indexSize().value()).append("String_Node_Str");
        saveCharSequencePosition(read,type);
        read.append("String_Node_Str").append(defaultSetter.getName()).append("String_Node_Str").append(bytesType(type)).append("String_Node_Str");
        updateCharSequencePosition(read,model,type);
        read.append("String_Node_Str");
      }
 else {
        read.append("String_Node_Str");
        saveCharSequencePosition(read,type);
        read.append("String_Node_Str").append(defaultSetter.getName()).append("String_Node_Str").append(bytesType(type)).append("String_Node_Str");
        updateCharSequencePosition(read,model,type);
        read.append("String_Node_Str");
      }
    }
  }
  return read;
}