Program: 23980
Project: 23980
Buggy source:
private ElementDefinition processLine(StructureDefinition sd,Sheet sheet,int row,Map<String,ElementDefinitionConstraintComponent> invariants,boolean profile,boolean firstTime) throws Exception {
  String path=sheet.getColumn(row,"String_Node_Str");
  if (path.startsWith("String_Node_Str"))   return null;
  if (Utilities.noString(path))   throw new Exception("String_Node_Str" + getLocation(row));
  if (path.contains("String_Node_Str"))   throw new Exception("String_Node_Str" + getLocation(row));
  String profileName=sheet.getColumn(row,"String_Node_Str");
  String discriminator=sheet.getColumn(row,"String_Node_Str");
  boolean isRoot=!path.contains("String_Node_Str");
  ElementDefinition e=sd.getDifferential().addElement();
  if (isRoot) {
    e.setPath(path);
  }
 else {
    String arc=path.substring(0,path.lastIndexOf("String_Node_Str"));
    String leaf=path.substring(path.lastIndexOf("String_Node_Str") + 1);
    if (leaf.startsWith("String_Node_Str")) {
      leaf=leaf.substring(1);
      e.addRepresentation(PropertyRepresentation.XMLATTR);
    }
    e.setPath(arc + "String_Node_Str" + leaf);
  }
  String c=sheet.getColumn(row,"String_Node_Str");
  if (c == null || c.equals("String_Node_Str") || c.startsWith("String_Node_Str")) {
  }
 else {
    String[] card=c.split("String_Node_Str");
    if (card.length != 2 || !Utilities.isInteger(card[0]) || (!"String_Node_Str".equals(card[1]) && !Utilities.isInteger(card[1])))     throw new Exception("String_Node_Str" + c + "String_Node_Str"+ c+ "String_Node_Str"+ getLocation(row)+ "String_Node_Str"+ path);
    e.setMin(Integer.parseInt(card[0]));
    e.setMax("String_Node_Str".equals(card[1]) ? "String_Node_Str" : card[1]);
  }
  e.setName(profileName);
  if (!Utilities.noString(discriminator)) {
    e.getSlicing().setRules(SlicingRules.OPEN);
    for (    String d : discriminator.split("String_Node_Str"))     if (!Utilities.noString(d))     e.getSlicing().addDiscriminator(d);
  }
  doAliases(sheet,row,e);
  e.setIsModifier(parseBoolean(sheet.getColumn(row,"String_Node_Str"),row,false));
  if (e.getPath().endsWith("String_Node_Str"))   e.setIsModifier(true);
  e.setMustSupport(parseBoolean(sheet.getColumn(row,"String_Node_Str"),row,false));
  e.setIsSummary(parseBoolean(sheet.getColumn(row,"String_Node_Str"),row,false));
  String uml=sheet.getColumn(row,"String_Node_Str");
  if (!Utilities.noString(uml)) {
    if (uml.contains("String_Node_Str")) {
      String[] parts=uml.split("String_Node_Str");
      e.setUserData("String_Node_Str",parts[0]);
      e.setUserData("String_Node_Str",parts[1]);
      if (parts.length > 2)       e.setUserData("String_Node_Str",parts[2]);
    }
 else     if (uml.startsWith("String_Node_Str")) {
      e.setUserData("String_Node_Str",true);
      e.setUserData("String_Node_Str",uml.substring(6));
    }
 else {
      e.setUserData("String_Node_Str",uml);
    }
  }
  String s=sheet.getColumn(row,"String_Node_Str");
  if (s != null && !s.equals("String_Node_Str"))   throw new Exception("String_Node_Str" + getLocation(row));
  s=sheet.getColumn(row,"String_Node_Str");
  if (s != null && !s.equals("String_Node_Str")) {
    for (    String sn : s.split("String_Node_Str")) {
      ElementDefinitionConstraintComponent inv=invariants.get(sn);
      if (inv == null)       throw new Exception("String_Node_Str" + sn + "String_Node_Str"+ getLocation(row));
      e.addCondition(inv.getId());
    }
  }
  TypeParser tp=new TypeParser();
  List<TypeRef> types=tp.parse(sheet.getColumn(row,"String_Node_Str"),true,"String_Node_Str",context,!path.contains("String_Node_Str"));
  if (types.size() == 1 && types.get(0).getName().startsWith("String_Node_Str"))   e.setContentReference("String_Node_Str" + types.get(0).getName().substring(1));
 else   e.getType().addAll(tp.convert(context,e.getPath(),types));
  String regex=sheet.getColumn(row,"String_Node_Str");
  if (!Utilities.noString(regex) && e.hasType())   ToolingExtensions.addStringExtension(e.getType().get(0),ToolingExtensions.EXT_REGEX,regex);
  if ((path.endsWith("String_Node_Str") || path.endsWith("String_Node_Str")) && e.hasType() && e.getType().get(0).hasProfile()&& Utilities.noString(profileName))   throw new Exception("String_Node_Str" + e.getType().get(0).getProfile().get(0));
  String bindingName=sheet.getColumn(row,"String_Node_Str");
  if (!Utilities.noString(bindingName)) {
    ElementDefinitionBindingComponent binding=bindings.get(bindingName);
    if (binding == null && !bindingName.startsWith("String_Node_Str"))     throw new Exception("String_Node_Str" + bindingName + "String_Node_Str");
    e.setBinding(binding);
  }
  e.setShort(sheet.getColumn(row,"String_Node_Str"));
  e.setDefinition(Utilities.appendPeriod(processDefinition(sheet.getColumn(row,"String_Node_Str"))));
  if (!Utilities.noString(sheet.getColumn(row,"String_Node_Str")))   e.setMaxLength(Integer.parseInt(sheet.getColumn(row,"String_Node_Str")));
  e.setRequirements(Utilities.appendPeriod(sheet.getColumn(row,"String_Node_Str")));
  e.setComments(Utilities.appendPeriod(sheet.getColumn(row,"String_Node_Str")));
  for (  String n : mappings.keySet()) {
    MappingSpace m=mappings.get(n);
    String sm=sheet.getColumn(row,mappings.get(n).getColumnName());
    if (!Utilities.noString(sm)) {
      ElementDefinitionMappingComponent map=e.addMapping();
      map.setIdentity(m.getId());
      map.setMap(sm);
    }
  }
  e.setExample(processValue(sheet,row,"String_Node_Str",sheet.getColumn(row,"String_Node_Str"),e));
  processOtherExamples(e,sheet,row);
  String dh=sheet.getColumn(row,"String_Node_Str");
  if (!Utilities.noString(dh))   ToolingExtensions.addDisplayHint(e,dh);
  e.setFixed(processValue(sheet,row,"String_Node_Str",sheet.getColumn(row,"String_Node_Str"),e));
  e.setPattern(processValue(sheet,row,"String_Node_Str",sheet.getColumn(row,"String_Node_Str"),e));
  return e;
}

Fixed version (ground truth):
private ElementDefinition processLine(StructureDefinition sd,Sheet sheet,int row,Map<String,ElementDefinitionConstraintComponent> invariants,boolean profile,boolean firstTime) throws Exception {
  String path=sheet.getColumn(row,"String_Node_Str");
  if (path.startsWith("String_Node_Str"))   return null;
  if (Utilities.noString(path))   throw new Exception("String_Node_Str" + getLocation(row));
  if (path.contains("String_Node_Str"))   throw new Exception("String_Node_Str" + getLocation(row));
  String profileName=sheet.getColumn(row,"String_Node_Str");
  String discriminator=sheet.getColumn(row,"String_Node_Str");
  boolean isRoot=!path.contains("String_Node_Str");
  ElementDefinition e=sd.getDifferential().addElement();
  if (isRoot) {
    e.setPath(path);
  }
 else {
    String arc=path.substring(0,path.lastIndexOf("String_Node_Str"));
    String leaf=path.substring(path.lastIndexOf("String_Node_Str") + 1);
    if (leaf.startsWith("String_Node_Str")) {
      leaf=leaf.substring(1);
      e.addRepresentation(PropertyRepresentation.XMLATTR);
    }
    e.setPath(arc + "String_Node_Str" + leaf);
  }
  String c=sheet.getColumn(row,"String_Node_Str");
  if (c == null || c.equals("String_Node_Str") || c.startsWith("String_Node_Str")) {
  }
 else {
    String[] card=c.split("String_Node_Str");
    if (card.length != 2 || !Utilities.isInteger(card[0]) || (!"String_Node_Str".equals(card[1]) && !Utilities.isInteger(card[1])))     throw new Exception("String_Node_Str" + c + "String_Node_Str"+ c+ "String_Node_Str"+ getLocation(row)+ "String_Node_Str"+ path);
    e.setMin(Integer.parseInt(card[0]));
    e.setMax("String_Node_Str".equals(card[1]) ? "String_Node_Str" : card[1]);
  }
  e.setName(profileName);
  if (!Utilities.noString(discriminator)) {
    e.getSlicing().setRules(SlicingRules.OPEN);
    for (    String d : discriminator.split("String_Node_Str"))     if (!Utilities.noString(d))     e.getSlicing().addDiscriminator(d);
  }
  doAliases(sheet,row,e);
  e.setIsModifier(parseBoolean(sheet.getColumn(row,"String_Node_Str"),row,false));
  if (e.getPath().endsWith("String_Node_Str"))   e.setIsModifier(true);
  e.setMustSupport(parseBoolean(sheet.getColumn(row,"String_Node_Str"),row,false));
  e.setIsSummary(parseBoolean(sheet.getColumn(row,"String_Node_Str"),row,false));
  String uml=sheet.getColumn(row,"String_Node_Str");
  if (!Utilities.noString(uml)) {
    if (uml.contains("String_Node_Str")) {
      String[] parts=uml.split("String_Node_Str");
      e.setUserData("String_Node_Str",parts[0]);
      e.setUserData("String_Node_Str",parts[1]);
      if (parts.length > 2)       e.setUserData("String_Node_Str",parts[2]);
    }
 else     if (uml.startsWith("String_Node_Str")) {
      e.setUserData("String_Node_Str",true);
      e.setUserData("String_Node_Str",uml.substring(6));
    }
 else {
      e.setUserData("String_Node_Str",uml);
    }
  }
  String s=sheet.getColumn(row,"String_Node_Str");
  if (s != null && !s.equals("String_Node_Str"))   throw new Exception("String_Node_Str" + getLocation(row));
  s=sheet.getColumn(row,"String_Node_Str");
  if (s != null && !s.equals("String_Node_Str")) {
    for (    String sn : s.split("String_Node_Str")) {
      ElementDefinitionConstraintComponent inv=invariants.get(sn);
      if (inv == null)       throw new Exception("String_Node_Str" + sn + "String_Node_Str"+ getLocation(row));
      e.addCondition(inv.getId());
    }
  }
  TypeParser tp=new TypeParser();
  List<TypeRef> types=tp.parse(sheet.getColumn(row,"String_Node_Str"),true,"String_Node_Str",context,!path.contains("String_Node_Str"));
  if (types.size() == 1 && types.get(0).getName().startsWith("String_Node_Str"))   e.setContentReference("String_Node_Str" + types.get(0).getName().substring(1));
 else   e.getType().addAll(tp.convert(context,e.getPath(),types,true,e));
  String regex=sheet.getColumn(row,"String_Node_Str");
  if (!Utilities.noString(regex) && e.hasType())   ToolingExtensions.addStringExtension(e.getType().get(0),ToolingExtensions.EXT_REGEX,regex);
  if ((path.endsWith("String_Node_Str") || path.endsWith("String_Node_Str")) && e.hasType() && e.getType().get(0).hasProfile()&& Utilities.noString(profileName))   throw new Exception("String_Node_Str" + e.getType().get(0).getProfile().get(0));
  String bindingName=sheet.getColumn(row,"String_Node_Str");
  if (!Utilities.noString(bindingName)) {
    ElementDefinitionBindingComponent binding=bindings.get(bindingName);
    if (binding == null && !bindingName.startsWith("String_Node_Str"))     throw new Exception("String_Node_Str" + bindingName + "String_Node_Str");
    e.setBinding(binding);
  }
  e.setShort(sheet.getColumn(row,"String_Node_Str"));
  e.setDefinition(Utilities.appendPeriod(processDefinition(sheet.getColumn(row,"String_Node_Str"))));
  if (!Utilities.noString(sheet.getColumn(row,"String_Node_Str")))   e.setMaxLength(Integer.parseInt(sheet.getColumn(row,"String_Node_Str")));
  e.setRequirements(Utilities.appendPeriod(sheet.getColumn(row,"String_Node_Str")));
  e.setComments(Utilities.appendPeriod(sheet.getColumn(row,"String_Node_Str")));
  for (  String n : mappings.keySet()) {
    MappingSpace m=mappings.get(n);
    String sm=sheet.getColumn(row,mappings.get(n).getColumnName());
    if (!Utilities.noString(sm)) {
      ElementDefinitionMappingComponent map=e.addMapping();
      map.setIdentity(m.getId());
      map.setMap(sm);
    }
  }
  e.setExample(processValue(sheet,row,"String_Node_Str",sheet.getColumn(row,"String_Node_Str"),e));
  processOtherExamples(e,sheet,row);
  String dh=sheet.getColumn(row,"String_Node_Str");
  if (!Utilities.noString(dh))   ToolingExtensions.addDisplayHint(e,dh);
  e.setFixed(processValue(sheet,row,"String_Node_Str",sheet.getColumn(row,"String_Node_Str"),e));
  e.setPattern(processValue(sheet,row,"String_Node_Str",sheet.getColumn(row,"String_Node_Str"),e));
  return e;
}