Program: 23312
Project: 23312
Buggy source:
private void checkPrimitive(List<ValidationMessage> errors,String path,String type,ElementDefinition context,Element e,StructureDefinition profile){
  if (isBlank(e.primitiveValue())) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.hasChildren(),"String_Node_Str");
    return;
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,"String_Node_Str".equals(e.primitiveValue()) || "String_Node_Str".equals(e.primitiveValue()),"String_Node_Str");
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!e.primitiveValue().startsWith("String_Node_Str"),"String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!e.primitiveValue().startsWith("String_Node_Str"),"String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue().equals(e.primitiveValue().trim()),"String_Node_Str");
  }
  if (!type.equalsIgnoreCase("String_Node_Str") && e.hasPrimitiveValue()) {
    if (rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue() == null || e.primitiveValue().length() > 0,"String_Node_Str")) {
      warning(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue() == null || e.primitiveValue().trim().equals(e.primitiveValue()),"String_Node_Str");
    }
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,yearIsValid(e.primitiveValue()),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue().matches("String_Node_Str"),"String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!hasTime(e.primitiveValue()) || hasTimeZone(e.primitiveValue()),"String_Node_Str");
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,yearIsValid(e.primitiveValue()),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue().matches("String_Node_Str"),"String_Node_Str");
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue().matches("String_Node_Str"),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,yearIsValid(e.primitiveValue()),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
  }
  if (type.equals("String_Node_Str") && e.primitiveValue() != null) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,passesCodeWhitespaceRules(e.primitiveValue()),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
  }
  if (context.hasBinding() && e.primitiveValue() != null) {
    checkPrimitiveBinding(errors,path,type,context,e,profile);
  }
  if (type.equals("String_Node_Str")) {
    XhtmlNode xhtml=e.getXhtml();
    if (xhtml != null) {
      String ns=xhtml.getNsDecl();
      rule(errors,IssueType.INVALID,e.line(),e.col(),path,FormatUtilities.XHTML_NS.equals(ns),"String_Node_Str" + ns + "String_Node_Str");
      checkInnerNS(errors,e,path,xhtml.getChildNodes());
      rule(errors,IssueType.INVALID,e.line(),e.col(),path,"String_Node_Str".equals(xhtml.getName()),"String_Node_Str" + ns + "String_Node_Str");
      checkInnerNames(errors,e,path,xhtml.getChildNodes());
    }
  }
  if (context.hasFixed())   checkFixedValue(errors,path,e,context.getFixed(),context.getSliceName(),null);
}

Fixed version (ground truth):
private void checkPrimitive(List<ValidationMessage> errors,String path,String type,ElementDefinition context,Element e,StructureDefinition profile) throws FHIRException {
  if (isBlank(e.primitiveValue())) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.hasChildren(),"String_Node_Str");
    return;
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,"String_Node_Str".equals(e.primitiveValue()) || "String_Node_Str".equals(e.primitiveValue()),"String_Node_Str");
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!e.primitiveValue().startsWith("String_Node_Str"),"String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!e.primitiveValue().startsWith("String_Node_Str"),"String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue().equals(e.primitiveValue().trim()),"String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!context.hasMaxLength() || context.getMaxLength() == 0 || e.primitiveValue().length() <= context.getMaxLength(),"String_Node_Str" + context.getMaxLength());
  }
  if (type.equalsIgnoreCase("String_Node_Str") && e.hasPrimitiveValue()) {
    if (rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue() == null || e.primitiveValue().length() > 0,"String_Node_Str")) {
      warning(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue() == null || e.primitiveValue().trim().equals(e.primitiveValue()),"String_Node_Str");
      rule(errors,IssueType.INVALID,e.line(),e.col(),path,!context.hasMaxLength() || context.getMaxLength() == 0 || e.primitiveValue().length() <= context.getMaxLength(),"String_Node_Str" + context.getMaxLength());
    }
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,yearIsValid(e.primitiveValue()),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue().matches("String_Node_Str"),"String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!hasTime(e.primitiveValue()) || hasTimeZone(e.primitiveValue()),"String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!context.hasMaxLength() || context.getMaxLength() == 0 || e.primitiveValue().length() <= context.getMaxLength(),"String_Node_Str" + context.getMaxLength());
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,yearIsValid(e.primitiveValue()),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue().matches("String_Node_Str"),"String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!context.hasMaxLength() || context.getMaxLength() == 0 || e.primitiveValue().length() <= context.getMaxLength(),"String_Node_Str" + context.getMaxLength());
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!context.hasMaxValueIntegerType() || !context.getMaxValueIntegerType().hasValue() || (context.getMaxValueIntegerType().getValue() >= new Integer(e.getValue()).intValue()),"String_Node_Str" + (context.hasMaxValueIntegerType() ? context.getMaxValueIntegerType() : "String_Node_Str"));
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!context.hasMinValueIntegerType() || !context.getMinValueIntegerType().hasValue() || (context.getMinValueIntegerType().getValue() <= new Integer(e.getValue()).intValue()),"String_Node_Str" + (context.hasMinValueIntegerType() ? context.getMinValueIntegerType() : "String_Node_Str"));
  }
  if (type.equals("String_Node_Str")) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,e.primitiveValue().matches("String_Node_Str"),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,yearIsValid(e.primitiveValue()),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
  }
  if (type.equals("String_Node_Str") && e.primitiveValue() != null) {
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,passesCodeWhitespaceRules(e.primitiveValue()),"String_Node_Str" + e.primitiveValue() + "String_Node_Str");
    rule(errors,IssueType.INVALID,e.line(),e.col(),path,!context.hasMaxLength() || context.getMaxLength() == 0 || e.primitiveValue().length() <= context.getMaxLength(),"String_Node_Str" + context.getMaxLength());
  }
  if (context.hasBinding() && e.primitiveValue() != null) {
    checkPrimitiveBinding(errors,path,type,context,e,profile);
  }
  if (type.equals("String_Node_Str")) {
    XhtmlNode xhtml=e.getXhtml();
    if (xhtml != null) {
      String ns=xhtml.getNsDecl();
      rule(errors,IssueType.INVALID,e.line(),e.col(),path,FormatUtilities.XHTML_NS.equals(ns),"String_Node_Str" + ns + "String_Node_Str");
      checkInnerNS(errors,e,path,xhtml.getChildNodes());
      rule(errors,IssueType.INVALID,e.line(),e.col(),path,"String_Node_Str".equals(xhtml.getName()),"String_Node_Str" + ns + "String_Node_Str");
      checkInnerNames(errors,e,path,xhtml.getChildNodes());
    }
  }
  if (context.hasFixed())   checkFixedValue(errors,path,e,context.getFixed(),context.getSliceName(),null);
}