Program: 23033
Project: 23033
Buggy source:
private void describeType(StringBuilder b,TypeRefComponent t) throws Exception {
  if (t.getCode() == null)   return;
  if (t.getCode().startsWith("String_Node_Str"))   return;
  if (t.getCode().startsWith("String_Node_Str")) {
    b.append(t.getCode());
  }
 else {
    b.append("String_Node_Str");
    String s=igp.getLinkFor("String_Node_Str",t.getCode());
    b.append(s);
    if (!s.contains("String_Node_Str")) {
    }
    b.append("String_Node_Str");
    b.append(t.getCode());
    b.append("String_Node_Str");
  }
  if (t.hasProfile()) {
    b.append("String_Node_Str");
    StructureDefinition p=context.fetchResource(StructureDefinition.class,t.getProfile().get(0).getValue());
    if (p == null)     b.append(t.getProfile());
 else {
      String pth=p.getUserString("String_Node_Str");
      b.append("String_Node_Str" + pth + "String_Node_Str"+ t.getProfile()+ "String_Node_Str");
      b.append(p.getName());
      b.append("String_Node_Str");
    }
    b.append("String_Node_Str");
  }
  if (t.hasTargetProfile()) {
    b.append("String_Node_Str");
    boolean first=true;
    for (    CanonicalType tp : t.getTargetProfile()) {
      if (first)       first=false;
 else       b.append("String_Node_Str");
      StructureDefinition p=context.fetchResource(StructureDefinition.class,tp.getValue());
      if (p == null)       b.append(tp.getValue());
 else {
        String pth=p.getUserString("String_Node_Str");
        b.append("String_Node_Str" + pth + "String_Node_Str"+ tp.getValue()+ "String_Node_Str");
        b.append(p.getName());
        b.append("String_Node_Str");
      }
    }
    b.append("String_Node_Str");
  }
}

Fixed version (ground truth):
private void describeType(StringBuilder b,TypeRefComponent t) throws Exception {
  if (t.getCode() == null)   return;
  if (t.getCode().startsWith("String_Node_Str"))   return;
  if (t.getCode().startsWith("String_Node_Str")) {
    b.append(t.getCode());
  }
 else {
    String s=igp.getLinkFor("String_Node_Str",t.getCode());
    if (s != null) {
      b.append("String_Node_Str");
      b.append(s);
      if (!s.contains("String_Node_Str")) {
      }
      b.append("String_Node_Str");
      b.append(t.getCode());
      b.append("String_Node_Str");
    }
 else     b.append(t.getCode());
  }
  if (t.hasProfile()) {
    b.append("String_Node_Str");
    StructureDefinition p=context.fetchResource(StructureDefinition.class,t.getProfile().get(0).getValue());
    if (p == null)     b.append(t.getProfile());
 else {
      String pth=p.getUserString("String_Node_Str");
      b.append("String_Node_Str" + pth + "String_Node_Str"+ t.getProfile()+ "String_Node_Str");
      b.append(p.getName());
      b.append("String_Node_Str");
    }
    b.append("String_Node_Str");
  }
  if (t.hasTargetProfile()) {
    b.append("String_Node_Str");
    boolean first=true;
    for (    CanonicalType tp : t.getTargetProfile()) {
      if (first)       first=false;
 else       b.append("String_Node_Str");
      StructureDefinition p=context.fetchResource(StructureDefinition.class,tp.getValue());
      if (p == null)       b.append(tp.getValue());
 else {
        String pth=p.getUserString("String_Node_Str");
        b.append("String_Node_Str" + pth + "String_Node_Str"+ tp.getValue()+ "String_Node_Str");
        b.append(p.getName());
        b.append("String_Node_Str");
      }
    }
    b.append("String_Node_Str");
  }
}