Program: 88391
Project: 88391
Buggy source:
public static String fixString(Object s,boolean convertHtml){
  String rv;
  if (s instanceof String) {
    if (((String)s).contains("String_Node_Str")) {
      if (convertHtml) {
        return gov.nasa.jpl.mbee.mdk.util.HtmlManipulator.replaceHtmlEntities(html2docbook((String)s));
      }
 else {
        return gov.nasa.jpl.mbee.mdk.util.Utils.stripHtmlWrapper((String)s);
      }
    }
 else {
      return gov.nasa.jpl.mbee.mdk.util.HtmlManipulator.replaceHtmlEntities(((String)s).replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str"));
    }
  }
 else   if (s instanceof Integer) {
    return Integer.toString((Integer)s);
  }
 else   if (s instanceof InstanceValue) {
    InstanceSpecification is=((InstanceValue)s).getInstance();
    if (is != null) {
      return fixString(is.getName());
    }
  }
 else   if (s instanceof ElementValue) {
    Element e=((ElementValue)s).getElement();
    return fixString(e);
  }
 else   if (s instanceof LiteralBoolean) {
    return Boolean.toString(((LiteralBoolean)s).isValue());
  }
 else   if (s instanceof LiteralString) {
    return fixString(((LiteralString)s).getValue());
  }
 else   if (s instanceof LiteralInteger) {
    return Integer.toString(((LiteralInteger)s).getValue());
  }
 else   if (s instanceof LiteralUnlimitedNatural) {
    return Integer.toString(((LiteralUnlimitedNatural)s).getValue());
  }
 else   if (s instanceof LiteralReal) {
    return Double.toString(((LiteralReal)s).getValue());
  }
 else   if ((rv=getRestrictedValue(s)) != null) {
    return rv;
  }
 else   if (s instanceof NamedElement) {
    return fixString(((NamedElement)s).getName());
  }
 else   if (s instanceof Comment) {
    return fixString(((Comment)s).getBody());
  }
 else   if (s instanceof StringProperty) {
    return fixString(((StringProperty)s).getString());
  }
 else   if (s instanceof NumberProperty) {
    return ((NumberProperty)s).getValue().toString();
  }
 else   if (s instanceof BooleanProperty) {
    return ((BooleanProperty)s).getBooleanObject().toString();
  }
 else   if (s instanceof ElementProperty) {
    return fixString(((ElementProperty)s).getElement());
  }
 else   if (s instanceof Slot) {
    return slot2String((Slot)s);
  }
 else   if (s != null) {
    return fixString(s.toString());
  }
  return "String_Node_Str";
}

Fixed version (ground truth):
public static String fixString(Object s,boolean convertHtml){
  String rv;
  if (s instanceof String) {
    if (((String)s).contains("String_Node_Str")) {
      if (convertHtml) {
        return StringEscapeUtils.escapeHtml4((String)s);
      }
 else {
        return gov.nasa.jpl.mbee.mdk.util.Utils.stripHtmlWrapper((String)s);
      }
    }
 else {
      return StringEscapeUtils.escapeHtml4(((String)s).replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str").replaceAll("String_Node_Str","String_Node_Str"));
    }
  }
 else   if (s instanceof Integer) {
    return Integer.toString((Integer)s);
  }
 else   if (s instanceof InstanceValue) {
    InstanceSpecification is=((InstanceValue)s).getInstance();
    if (is != null) {
      return fixString(is.getName());
    }
  }
 else   if (s instanceof ElementValue) {
    Element e=((ElementValue)s).getElement();
    return fixString(e);
  }
 else   if (s instanceof LiteralBoolean) {
    return Boolean.toString(((LiteralBoolean)s).isValue());
  }
 else   if (s instanceof LiteralString) {
    return fixString(((LiteralString)s).getValue());
  }
 else   if (s instanceof LiteralInteger) {
    return Integer.toString(((LiteralInteger)s).getValue());
  }
 else   if (s instanceof LiteralUnlimitedNatural) {
    return Integer.toString(((LiteralUnlimitedNatural)s).getValue());
  }
 else   if (s instanceof LiteralReal) {
    return Double.toString(((LiteralReal)s).getValue());
  }
 else   if ((rv=getRestrictedValue(s)) != null) {
    return rv;
  }
 else   if (s instanceof NamedElement) {
    return fixString(((NamedElement)s).getName());
  }
 else   if (s instanceof Comment) {
    return fixString(((Comment)s).getBody());
  }
 else   if (s instanceof StringProperty) {
    return fixString(((StringProperty)s).getString());
  }
 else   if (s instanceof NumberProperty) {
    return ((NumberProperty)s).getValue().toString();
  }
 else   if (s instanceof BooleanProperty) {
    return ((BooleanProperty)s).getBooleanObject().toString();
  }
 else   if (s instanceof ElementProperty) {
    return fixString(((ElementProperty)s).getElement());
  }
 else   if (s instanceof Slot) {
    return slot2String((Slot)s);
  }
 else   if (s != null) {
    return fixString(s.toString());
  }
  return "String_Node_Str";
}