Program: 23255
Project: 23255
Buggy source:
private void generateElementDefinition(StructureDefinition source,ElementDefinition ed,ElementDefinition parent) throws Exception {
  String id=ed.getPath().replace("String_Node_Str","String_Node_Str");
  if (id.length() > 64)   id=id.substring(0,64);
  if (!id.contains("String_Node_Str"))   return;
  if (!ed.hasType())   return;
  if (Utilities.existsInList(ed.getType().get(0).getCode(),"String_Node_Str","String_Node_Str"))   return;
  StructureDefinition de;
  if (des.containsKey(id)) {
    de=des.get(id);
    de.getSnapshot().getElement().clear();
    de.getExtension().clear();
  }
 else {
    de=new StructureDefinition();
    de.setId(id);
    des.put(id,de);
    de.setUrl("String_Node_Str" + de.getId());
    if (de.getId().contains("String_Node_Str"))     definitions.addNs(de.getUrl(),"String_Node_Str" + ed.getPath(),definitions.getSrcFile(de.getId().substring(0,de.getId().indexOf("String_Node_Str"))) + "String_Node_Str" + de.getId());
    if (dataElements != null)     dataElements.addEntry().setResource(de).setFullUrl(de.getUrl());
  }
  if (ed.hasBase())   throw new Exception("String_Node_Str");
  if (!de.hasMeta())   de.setMeta(new Meta());
  de.getMeta().setLastUpdatedElement(new InstantType(genDate));
  de.setName(ed.getPath());
  de.setStatus(PublicationStatus.DRAFT);
  de.setExperimental(true);
  de.setTitle(de.getName());
  de.setDate(genDate.getTime());
  de.setPublisher("String_Node_Str");
  de.addContact().getTelecom().add(Factory.newContactPoint(ContactPointSystem.URL,"String_Node_Str"));
  de.setDescription("String_Node_Str" + ed.getPath());
  de.setPurpose("String_Node_Str");
  de.setFhirVersion(version);
  de.setKind(StructureDefinitionKind.LOGICAL);
  de.setAbstract(false);
  de.setType(de.getName());
  de.setBaseDefinition("String_Node_Str");
  de.setDerivation(TypeDerivationRule.SPECIALIZATION);
  de.getMapping().addAll(source.getMapping());
  ElementDefinition ted=ed.copy();
  de.getSnapshot().addElement(ted);
}

Fixed version (ground truth):
private void generateElementDefinition(StructureDefinition source,ElementDefinition ed,ElementDefinition parent) throws Exception {
  String id=ed.getPath().replace("String_Node_Str","String_Node_Str");
  if (id.length() > 64)   id=id.substring(0,64);
  if (!id.contains("String_Node_Str"))   return;
  if (!ed.hasType())   return;
  if (Utilities.existsInList(ed.getType().get(0).getCode(),"String_Node_Str","String_Node_Str"))   return;
  StructureDefinition de;
  if (des.containsKey(id)) {
    de=des.get("String_Node_Str" + id);
    de.getSnapshot().getElement().clear();
    de.getExtension().clear();
  }
 else {
    de=new StructureDefinition();
    de.setId("String_Node_Str" + id);
    des.put(id,de);
    de.setUrl("String_Node_Str" + de.getId());
    if (de.getId().contains("String_Node_Str"))     definitions.addNs(de.getUrl(),"String_Node_Str" + ed.getPath(),definitions.getSrcFile(de.getId().substring(0,de.getId().indexOf("String_Node_Str"))) + "String_Node_Str" + de.getId());
    if (dataElements != null)     dataElements.addEntry().setResource(de).setFullUrl(de.getUrl());
  }
  if (ed.hasBase())   throw new Exception("String_Node_Str");
  if (!de.hasMeta())   de.setMeta(new Meta());
  de.getMeta().setLastUpdatedElement(new InstantType(genDate));
  de.setName(ed.getPath());
  de.setStatus(PublicationStatus.DRAFT);
  de.setExperimental(true);
  de.setTitle(de.getName());
  de.setDate(genDate.getTime());
  de.setPublisher("String_Node_Str");
  de.addContact().getTelecom().add(Factory.newContactPoint(ContactPointSystem.URL,"String_Node_Str"));
  de.setDescription("String_Node_Str" + ed.getPath());
  de.setPurpose("String_Node_Str");
  de.setFhirVersion(version);
  de.setKind(StructureDefinitionKind.LOGICAL);
  de.setAbstract(false);
  de.setType(de.getName());
  de.setBaseDefinition("String_Node_Str");
  de.setDerivation(TypeDerivationRule.SPECIALIZATION);
  de.getMapping().addAll(source.getMapping());
  ElementDefinition ted=ed.copy();
  de.getSnapshot().addElement(ted);
}