Program: 23058
Project: 23058
Buggy source:
protected void parseParameterDefinitionProperties(JsonObject json,ParameterDefinition res) throws IOException, FHIRFormatError {
  parseTypeProperties(json,res);
  if (json.has("String_Node_Str"))   res.setNameElement(parseCode(json.get("String_Node_Str").getAsString()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getNameElement());
  if (json.has("String_Node_Str"))   res.setUseElement(parseEnumeration(json.get("String_Node_Str").getAsString(),ParameterDefinition.ParameterUse.NULL,new ParameterDefinition.ParameterUseEnumFactory()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getUseElement());
  if (json.has("String_Node_Str"))   res.setMinElement(parseInteger(json.get("String_Node_Str").getAsLong()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getMinElement());
  if (json.has("String_Node_Str"))   res.setMaxElement(parseString(json.get("String_Node_Str").getAsString()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getMaxElement());
  if (json.has("String_Node_Str"))   res.setDocumentationElement(parseString(json.get("String_Node_Str").getAsString()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getDocumentationElement());
  if (json.has("String_Node_Str"))   res.setTypeElement(parseCode(json.get("String_Node_Str").getAsString()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getTypeElement());
  if (json.has("String_Node_Str"))   res.setProfile(parseReference(json.getAsJsonObject("String_Node_Str")));
}

Fixed version (ground truth):
protected void parseParameterDefinitionProperties(JsonObject json,ParameterDefinition res) throws IOException, FHIRFormatError {
  parseTypeProperties(json,res);
  if (json.has("String_Node_Str"))   res.setNameElement(parseCode(json.get("String_Node_Str").getAsString()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getNameElement());
  if (json.has("String_Node_Str"))   res.setUseElement(parseEnumeration(json.get("String_Node_Str").getAsString(),ParameterDefinition.ParameterUse.NULL,new ParameterDefinition.ParameterUseEnumFactory()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getUseElement());
  if (json.has("String_Node_Str"))   res.setMinElement(parseInteger(json.get("String_Node_Str").getAsLong()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getMinElement());
  if (json.has("String_Node_Str"))   res.setMaxElement(parseString(json.get("String_Node_Str").getAsString()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getMaxElement());
  if (json.has("String_Node_Str"))   res.setDocumentationElement(parseString(json.get("String_Node_Str").getAsString()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getDocumentationElement());
  if (json.has("String_Node_Str"))   res.setTypeElement(parseCode(json.get("String_Node_Str").getAsString()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getTypeElement());
  if (json.has("String_Node_Str"))   res.setProfileElement(parseCanonical(json.get("String_Node_Str").getAsString()));
  if (json.has("String_Node_Str"))   parseElementProperties(json.getAsJsonObject("String_Node_Str"),res.getProfileElement());
}