Program: 23057
Project: 23057
Buggy source:
protected void composeDataRequirementInner(DataRequirement element) throws IOException {
  composeElement(element);
  if (element.hasTypeElement()) {
    composeCodeCore("String_Node_Str",element.getTypeElement(),false);
    composeCodeExtras("String_Node_Str",element.getTypeElement(),false);
  }
  if (element.hasProfile()) {
    openArray("String_Node_Str");
    for (    CanonicalType e : element.getProfile())     composeCanonicalCore(null,e,true);
    closeArray();
    if (anyHasExtras(element.getProfile())) {
      openArray("String_Node_Str");
      for (      CanonicalType e : element.getProfile())       composeCanonicalExtras(null,e,true);
      closeArray();
    }
  }
  ;
  if (element.hasMustSupport()) {
    openArray("String_Node_Str");
    for (    StringType e : element.getMustSupport())     composeStringCore(null,e,true);
    closeArray();
    if (anyHasExtras(element.getMustSupport())) {
      openArray("String_Node_Str");
      for (      StringType e : element.getMustSupport())       composeStringExtras(null,e,true);
      closeArray();
    }
  }
  ;
  if (element.hasCodeFilter()) {
    openArray("String_Node_Str");
    for (    DataRequirement.DataRequirementCodeFilterComponent e : element.getCodeFilter())     composeDataRequirementDataRequirementCodeFilterComponent(null,e);
    closeArray();
  }
  ;
  if (element.hasDateFilter()) {
    openArray("String_Node_Str");
    for (    DataRequirement.DataRequirementDateFilterComponent e : element.getDateFilter())     composeDataRequirementDataRequirementDateFilterComponent(null,e);
    closeArray();
  }
  ;
}

Fixed version (ground truth):
protected void composeDataRequirementInner(DataRequirement element) throws IOException {
  composeElement(element);
  if (element.hasTypeElement()) {
    composeCodeCore("String_Node_Str",element.getTypeElement(),false);
    composeCodeExtras("String_Node_Str",element.getTypeElement(),false);
  }
  if (element.hasProfile()) {
    openArray("String_Node_Str");
    for (    CanonicalType e : element.getProfile())     composeCanonicalCore(null,e,true);
    closeArray();
    if (anyHasExtras(element.getProfile())) {
      openArray("String_Node_Str");
      for (      CanonicalType e : element.getProfile())       composeCanonicalExtras(null,e,true);
      closeArray();
    }
  }
  ;
  if (element.hasSubject()) {
    composeType("String_Node_Str",element.getSubject());
  }
  if (element.hasMustSupport()) {
    openArray("String_Node_Str");
    for (    StringType e : element.getMustSupport())     composeStringCore(null,e,true);
    closeArray();
    if (anyHasExtras(element.getMustSupport())) {
      openArray("String_Node_Str");
      for (      StringType e : element.getMustSupport())       composeStringExtras(null,e,true);
      closeArray();
    }
  }
  ;
  if (element.hasCodeFilter()) {
    openArray("String_Node_Str");
    for (    DataRequirement.DataRequirementCodeFilterComponent e : element.getCodeFilter())     composeDataRequirementDataRequirementCodeFilterComponent(null,e);
    closeArray();
  }
  ;
  if (element.hasDateFilter()) {
    openArray("String_Node_Str");
    for (    DataRequirement.DataRequirementDateFilterComponent e : element.getDateFilter())     composeDataRequirementDataRequirementDateFilterComponent(null,e);
    closeArray();
  }
  ;
  if (element.hasLimitElement()) {
    composePositiveIntCore("String_Node_Str",element.getLimitElement(),false);
    composePositiveIntExtras("String_Node_Str",element.getLimitElement(),false);
  }
  if (element.hasSort()) {
    openArray("String_Node_Str");
    for (    DataRequirement.DataRequirementSortComponent e : element.getSort())     composeDataRequirementDataRequirementSortComponent(null,e);
    closeArray();
  }
  ;
}