Program: 23290
Project: 23290
Buggy source:
private void loadIg(JsonObject dep) throws Exception {
  String name=str(dep,"String_Node_Str");
  if (!Utilities.isToken(name))   throw new Exception("String_Node_Str" + name + "String_Node_Str");
  String location=str(dep,"String_Node_Str");
  String source=ostr(dep,"String_Node_Str");
  if (Utilities.noString(source))   source=location;
  log("String_Node_Str" + name + "String_Node_Str"+ location+ "String_Node_Str"+ source);
  Map<String,byte[]> files=fetchDefinitions(source,name);
  SpecMapManager igm=new SpecMapManager(files.get("String_Node_Str"));
  igm.setName(name);
  igm.setBase(location);
  specMaps.add(igm);
  if (!Constants.VERSION.equals(igm.getVersion()))   log("String_Node_Str" + Constants.VERSION + "String_Node_Str"+ name+ "String_Node_Str"+ igm.getVersion()+ "String_Node_Str");
  for (  String fn : files.keySet()) {
    if (fn.endsWith("String_Node_Str")) {
      Resource r;
      try {
        org.hl7.fhir.dstu3.formats.JsonParser jp=new org.hl7.fhir.dstu3.formats.JsonParser();
        r=jp.parse(new ByteArrayInputStream(files.get(fn)));
      }
 catch (      Exception e) {
        throw new Exception("String_Node_Str" + fn + "String_Node_Str"+ name,e);
      }
      if (r instanceof MetadataResource) {
        String u=((MetadataResource)r).getUrl();
        if (u != null) {
          String p=igm.getPath(u);
          if (p == null)           throw new Exception("String_Node_Str" + name + "String_Node_Str"+ u);
          r.setUserData("String_Node_Str",location + "String_Node_Str" + igpkp.doReplacements(p,r,null,null));
          context.seeResource(u,r);
        }
      }
    }
  }
}

Fixed version (ground truth):
private void loadIg(JsonObject dep) throws Exception {
  String name=str(dep,"String_Node_Str");
  if (!Utilities.isToken(name))   throw new Exception("String_Node_Str" + name + "String_Node_Str");
  String location=str(dep,"String_Node_Str");
  String source=ostr(dep,"String_Node_Str");
  if (Utilities.noString(source))   source=location;
  log("String_Node_Str" + name + "String_Node_Str"+ location+ "String_Node_Str"+ source);
  Map<String,byte[]> files=fetchDefinitions(source,name);
  SpecMapManager igm=new SpecMapManager(files.get("String_Node_Str"));
  igm.setName(name);
  igm.setBase(location);
  specMaps.add(igm);
  if (!Constants.VERSION.equals(igm.getVersion())) {
    log("String_Node_Str" + Constants.VERSION + "String_Node_Str"+ name+ "String_Node_Str"+ igm.getVersion()+ "String_Node_Str");
    deleteFromCache(source,name);
  }
  for (  String fn : files.keySet()) {
    if (fn.endsWith("String_Node_Str")) {
      Resource r;
      try {
        org.hl7.fhir.dstu3.formats.JsonParser jp=new org.hl7.fhir.dstu3.formats.JsonParser();
        r=jp.parse(new ByteArrayInputStream(files.get(fn)));
      }
 catch (      Exception e) {
        throw new Exception("String_Node_Str" + fn + "String_Node_Str"+ name,e);
      }
      if (r instanceof MetadataResource) {
        String u=((MetadataResource)r).getUrl();
        if (u != null) {
          String p=igm.getPath(u);
          if (p == null)           throw new Exception("String_Node_Str" + name + "String_Node_Str"+ u);
          r.setUserData("String_Node_Str",location + "String_Node_Str" + igpkp.doReplacements(p,r,null,null));
          context.seeResource(u,r);
        }
      }
    }
  }
}