Program: 23071
Project: 23071
Buggy source:
protected void composeImmunizationRecommendationImmunizationRecommendationRecommendationComponent(Complex parent,String parentType,String name,ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent element,int index){
  if (element == null)   return;
  Complex t;
  if (Utilities.noString(parentType))   t=parent;
 else {
    t=parent.predicate("String_Node_Str" + parentType + '.'+ name);
  }
  composeBackboneElement(t,"String_Node_Str",name,element,index);
  for (int i=0; i < element.getVaccineCode().size(); i++)   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getVaccineCode().get(i),i);
  if (element.hasTargetDisease())   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getTargetDisease(),-1);
  for (int i=0; i < element.getContraindicatedVaccineCode().size(); i++)   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getContraindicatedVaccineCode().get(i),i);
  if (element.hasForecastStatus())   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getForecastStatus(),-1);
  for (int i=0; i < element.getForecastReason().size(); i++)   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getForecastReason().get(i),i);
  for (int i=0; i < element.getDateCriterion().size(); i++)   composeImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent(t,"String_Node_Str","String_Node_Str",element.getDateCriterion().get(i),i);
  if (element.hasDescriptionElement())   composeString(t,"String_Node_Str","String_Node_Str",element.getDescriptionElement(),-1);
  if (element.hasSeriesElement())   composeString(t,"String_Node_Str","String_Node_Str",element.getSeriesElement(),-1);
  if (element.hasDoseNumberElement())   composePositiveInt(t,"String_Node_Str","String_Node_Str",element.getDoseNumberElement(),-1);
  if (element.hasSeriesDosesElement())   composePositiveInt(t,"String_Node_Str","String_Node_Str",element.getSeriesDosesElement(),-1);
  for (int i=0; i < element.getSupportingImmunization().size(); i++)   composeReference(t,"String_Node_Str","String_Node_Str",element.getSupportingImmunization().get(i),i);
  for (int i=0; i < element.getSupportingPatientInformation().size(); i++)   composeReference(t,"String_Node_Str","String_Node_Str",element.getSupportingPatientInformation().get(i),i);
}

Fixed version (ground truth):
protected void composeImmunizationRecommendationImmunizationRecommendationRecommendationComponent(Complex parent,String parentType,String name,ImmunizationRecommendation.ImmunizationRecommendationRecommendationComponent element,int index){
  if (element == null)   return;
  Complex t;
  if (Utilities.noString(parentType))   t=parent;
 else {
    t=parent.predicate("String_Node_Str" + parentType + '.'+ name);
  }
  composeBackboneElement(t,"String_Node_Str",name,element,index);
  for (int i=0; i < element.getVaccineCode().size(); i++)   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getVaccineCode().get(i),i);
  if (element.hasTargetDisease())   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getTargetDisease(),-1);
  for (int i=0; i < element.getContraindicatedVaccineCode().size(); i++)   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getContraindicatedVaccineCode().get(i),i);
  if (element.hasForecastStatus())   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getForecastStatus(),-1);
  for (int i=0; i < element.getForecastReason().size(); i++)   composeCodeableConcept(t,"String_Node_Str","String_Node_Str",element.getForecastReason().get(i),i);
  for (int i=0; i < element.getDateCriterion().size(); i++)   composeImmunizationRecommendationImmunizationRecommendationRecommendationDateCriterionComponent(t,"String_Node_Str","String_Node_Str",element.getDateCriterion().get(i),i);
  if (element.hasDescriptionElement())   composeString(t,"String_Node_Str","String_Node_Str",element.getDescriptionElement(),-1);
  if (element.hasSeriesElement())   composeString(t,"String_Node_Str","String_Node_Str",element.getSeriesElement(),-1);
  if (element.hasDoseNumber())   composeType(t,"String_Node_Str","String_Node_Str",element.getDoseNumber(),-1);
  if (element.hasSeriesDoses())   composeType(t,"String_Node_Str","String_Node_Str",element.getSeriesDoses(),-1);
  for (int i=0; i < element.getSupportingImmunization().size(); i++)   composeReference(t,"String_Node_Str","String_Node_Str",element.getSupportingImmunization().get(i),i);
  for (int i=0; i < element.getSupportingPatientInformation().size(); i++)   composeReference(t,"String_Node_Str","String_Node_Str",element.getSupportingPatientInformation().get(i),i);
}