Program: 22977
Project: 22977
Buggy source:
public void loadIg(String src) throws IOException, FHIRException, Exception {
  String canonical=null;
  Map<String,byte[]> source=loadIgSource(src,"String_Node_Str");
  String version=Constants.VERSION;
  if (source.containsKey("String_Node_Str"))   version=readInfoVersion(source.get("String_Node_Str"));
  for (  Entry<String,byte[]> t : source.entrySet()) {
    String fn=t.getKey();
    Resource r=null;
    try {
      if (version.equals("String_Node_Str") || version.equals("String_Node_Str")) {
        org.hl7.fhir.dstu3.model.Resource res;
        if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))         res=new org.hl7.fhir.dstu3.formats.XmlParser().parse(new ByteArrayInputStream(t.getValue()));
 else         if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))         res=new org.hl7.fhir.dstu3.formats.JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else         throw new Exception("String_Node_Str" + fn);
        r=VersionConvertor_30_40.convertResource(res);
      }
 else       if (version.equals("String_Node_Str")) {
        org.hl7.fhir.dstu2016may.model.Resource res;
        if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))         res=new org.hl7.fhir.dstu2016may.formats.XmlParser().parse(new ByteArrayInputStream(t.getValue()));
 else         if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))         res=new org.hl7.fhir.dstu2016may.formats.JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else         throw new Exception("String_Node_Str" + fn);
        r=VersionConvertor_14_40.convertResource(res);
      }
 else       if (version.equals("String_Node_Str")) {
        org.hl7.fhir.dstu2.model.Resource res;
        if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))         res=new org.hl7.fhir.dstu2.formats.JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else         if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))         res=new org.hl7.fhir.dstu2.formats.JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else         throw new Exception("String_Node_Str" + fn);
        VersionConvertorAdvisor40 advisor=new org.hl7.fhir.convertors.IGR2ConvertorAdvisor();
        r=new VersionConvertor_10_40(advisor).convertResource(res);
      }
 else       if (version.equals(Constants.VERSION)) {
        if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))         r=new XmlParser().parse(new ByteArrayInputStream(t.getValue()));
 else         if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))         r=new JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else         if (fn.endsWith("String_Node_Str"))         r=new StructureMapUtilities(context,null,null).parse(TextFile.bytesToString(t.getValue()));
 else         throw new Exception("String_Node_Str" + fn);
      }
 else       throw new Exception("String_Node_Str" + version);
    }
 catch (    Exception e) {
      throw new Exception("String_Node_Str" + fn + "String_Node_Str"+ e.getMessage(),e);
    }
    if (r != null) {
      context.cacheResource(r);
      if (r instanceof ImplementationGuide)       canonical=((ImplementationGuide)r).getUrl();
    }
  }
  if (canonical != null)   grabNatives(source,canonical);
}

Fixed version (ground truth):
public void loadIg(String src) throws IOException, FHIRException, Exception {
  String canonical=null;
  Map<String,byte[]> source=loadIgSource(src,"String_Node_Str");
  String version=Constants.VERSION;
  if (source.containsKey("String_Node_Str"))   version=readInfoVersion(source.get("String_Node_Str"));
  for (  Entry<String,byte[]> t : source.entrySet()) {
    String fn=t.getKey();
    if (!exemptFile(fn)) {
      Resource r=null;
      try {
        if (version.equals("String_Node_Str") || version.equals("String_Node_Str")) {
          org.hl7.fhir.dstu3.model.Resource res;
          if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))           res=new org.hl7.fhir.dstu3.formats.XmlParser().parse(new ByteArrayInputStream(t.getValue()));
 else           if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))           res=new org.hl7.fhir.dstu3.formats.JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else           throw new Exception("String_Node_Str" + fn);
          r=VersionConvertor_30_40.convertResource(res);
        }
 else         if (version.equals("String_Node_Str")) {
          org.hl7.fhir.dstu2016may.model.Resource res;
          if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))           res=new org.hl7.fhir.dstu2016may.formats.XmlParser().parse(new ByteArrayInputStream(t.getValue()));
 else           if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))           res=new org.hl7.fhir.dstu2016may.formats.JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else           throw new Exception("String_Node_Str" + fn);
          r=VersionConvertor_14_40.convertResource(res);
        }
 else         if (version.equals("String_Node_Str")) {
          org.hl7.fhir.dstu2.model.Resource res;
          if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))           res=new org.hl7.fhir.dstu2.formats.JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else           if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))           res=new org.hl7.fhir.dstu2.formats.JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else           throw new Exception("String_Node_Str" + fn);
          VersionConvertorAdvisor40 advisor=new org.hl7.fhir.convertors.IGR2ConvertorAdvisor();
          r=new VersionConvertor_10_40(advisor).convertResource(res);
        }
 else         if (version.equals(Constants.VERSION)) {
          if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))           r=new XmlParser().parse(new ByteArrayInputStream(t.getValue()));
 else           if (fn.endsWith("String_Node_Str") && !fn.endsWith("String_Node_Str"))           r=new JsonParser().parse(new ByteArrayInputStream(t.getValue()));
 else           if (fn.endsWith("String_Node_Str"))           r=new StructureMapUtilities(context,null,null).parse(TextFile.bytesToString(t.getValue()));
 else           throw new Exception("String_Node_Str" + fn);
        }
 else         throw new Exception("String_Node_Str" + version);
      }
 catch (      Exception e) {
        throw new Exception("String_Node_Str" + fn + "String_Node_Str"+ e.getMessage(),e);
      }
      if (r != null) {
        context.cacheResource(r);
        if (r instanceof ImplementationGuide)         canonical=((ImplementationGuide)r).getUrl();
      }
    }
  }
  if (canonical != null)   grabNatives(source,canonical);
}