Program: 23987
Project: 23987
Buggy source:
protected void composePlanDefinitionInner(PlanDefinition element) throws IOException {
  composeDomainResourceElements(element);
  if (element.hasModuleMetadata()) {
    composeModuleMetadata("String_Node_Str",element.getModuleMetadata());
  }
  if (element.hasLibrary()) {
    openArray("String_Node_Str");
    for (    Reference e : element.getLibrary())     composeReference(null,e);
    closeArray();
  }
  ;
  if (element.hasActionDefinition()) {
    openArray("String_Node_Str");
    for (    PlanDefinition.PlanDefinitionActionDefinitionComponent e : element.getActionDefinition())     composePlanDefinitionPlanDefinitionActionDefinitionComponent(null,e);
    closeArray();
  }
  ;
}

Fixed version (ground truth):
protected void composePlanDefinitionInner(PlanDefinition element) throws IOException {
  composeDomainResourceElements(element);
  if (element.hasUrlElement()) {
    composeUriCore("String_Node_Str",element.getUrlElement(),false);
    composeUriExtras("String_Node_Str",element.getUrlElement(),false);
  }
  if (element.hasIdentifier()) {
    openArray("String_Node_Str");
    for (    Identifier e : element.getIdentifier())     composeIdentifier(null,e);
    closeArray();
  }
  ;
  if (element.hasVersionElement()) {
    composeStringCore("String_Node_Str",element.getVersionElement(),false);
    composeStringExtras("String_Node_Str",element.getVersionElement(),false);
  }
  if (element.hasNameElement()) {
    composeStringCore("String_Node_Str",element.getNameElement(),false);
    composeStringExtras("String_Node_Str",element.getNameElement(),false);
  }
  if (element.hasTitleElement()) {
    composeStringCore("String_Node_Str",element.getTitleElement(),false);
    composeStringExtras("String_Node_Str",element.getTitleElement(),false);
  }
  if (element.hasStatusElement()) {
    composeCodeCore("String_Node_Str",element.getStatusElement(),false);
    composeCodeExtras("String_Node_Str",element.getStatusElement(),false);
  }
  if (element.hasExperimentalElement()) {
    composeBooleanCore("String_Node_Str",element.getExperimentalElement(),false);
    composeBooleanExtras("String_Node_Str",element.getExperimentalElement(),false);
  }
  if (element.hasDescriptionElement()) {
    composeStringCore("String_Node_Str",element.getDescriptionElement(),false);
    composeStringExtras("String_Node_Str",element.getDescriptionElement(),false);
  }
  if (element.hasPurposeElement()) {
    composeStringCore("String_Node_Str",element.getPurposeElement(),false);
    composeStringExtras("String_Node_Str",element.getPurposeElement(),false);
  }
  if (element.hasUsageElement()) {
    composeStringCore("String_Node_Str",element.getUsageElement(),false);
    composeStringExtras("String_Node_Str",element.getUsageElement(),false);
  }
  if (element.hasPublicationDateElement()) {
    composeDateCore("String_Node_Str",element.getPublicationDateElement(),false);
    composeDateExtras("String_Node_Str",element.getPublicationDateElement(),false);
  }
  if (element.hasLastReviewDateElement()) {
    composeDateCore("String_Node_Str",element.getLastReviewDateElement(),false);
    composeDateExtras("String_Node_Str",element.getLastReviewDateElement(),false);
  }
  if (element.hasEffectivePeriod()) {
    composePeriod("String_Node_Str",element.getEffectivePeriod());
  }
  if (element.hasCoverage()) {
    openArray("String_Node_Str");
    for (    UsageContext e : element.getCoverage())     composeUsageContext(null,e);
    closeArray();
  }
  ;
  if (element.hasTopic()) {
    openArray("String_Node_Str");
    for (    CodeableConcept e : element.getTopic())     composeCodeableConcept(null,e);
    closeArray();
  }
  ;
  if (element.hasContributor()) {
    openArray("String_Node_Str");
    for (    Contributor e : element.getContributor())     composeContributor(null,e);
    closeArray();
  }
  ;
  if (element.hasPublisherElement()) {
    composeStringCore("String_Node_Str",element.getPublisherElement(),false);
    composeStringExtras("String_Node_Str",element.getPublisherElement(),false);
  }
  if (element.hasContact()) {
    openArray("String_Node_Str");
    for (    ContactDetail e : element.getContact())     composeContactDetail(null,e);
    closeArray();
  }
  ;
  if (element.hasCopyrightElement()) {
    composeStringCore("String_Node_Str",element.getCopyrightElement(),false);
    composeStringExtras("String_Node_Str",element.getCopyrightElement(),false);
  }
  if (element.hasRelatedResource()) {
    openArray("String_Node_Str");
    for (    RelatedResource e : element.getRelatedResource())     composeRelatedResource(null,e);
    closeArray();
  }
  ;
  if (element.hasLibrary()) {
    openArray("String_Node_Str");
    for (    Reference e : element.getLibrary())     composeReference(null,e);
    closeArray();
  }
  ;
  if (element.hasActionDefinition()) {
    openArray("String_Node_Str");
    for (    PlanDefinition.PlanDefinitionActionDefinitionComponent e : element.getActionDefinition())     composePlanDefinitionPlanDefinitionActionDefinitionComponent(null,e);
    closeArray();
  }
  ;
}