Program: 12605
Project: 12605
Buggy source:
private static String formatMessage(String message,java.util.Collection<? extends Identified> objects){
  final StringBuilder sb=new StringBuilder(message);
  if (message.startsWith("String_Node_Str")) {
    if (validationRules == null) {
      validationRules=new LinkedHashMap<String,SBOLValidationRule>();
      InputStreamReader f=new InputStreamReader(SBOLValidationRule.class.getResourceAsStream("String_Node_Str"));
      try {
        parse(new BufferedReader(f));
        String key=message.trim();
        SBOLValidationRule rule=validationRules.get(key);
        if (rule == null) {
          throw new RuntimeException("String_Node_Str");
        }
        sb.append("String_Node_Str" + rule.getDescription() + "String_Node_Str");
        if (!objects.isEmpty()) {
          sb.append("String_Node_Str");
          boolean first=true;
          for (          Identified obj : objects) {
            if (first) {
              first=false;
            }
 else {
              sb.append("String_Node_Str");
            }
            if (obj.getIdentity() != null) {
              sb.append(obj.getIdentity());
            }
          }
        }
      }
 catch (      IOException e) {
      }
    }
  }
 else {
    if (!objects.isEmpty()) {
      sb.append("String_Node_Str");
      boolean first=true;
      for (      Identified obj : objects) {
        if (first) {
          first=false;
        }
 else {
          sb.append("String_Node_Str");
        }
        if (obj.getIdentity() != null) {
          sb.append(obj.getIdentity());
        }
      }
    }
  }
  return sb.toString();
}

Fixed version (ground truth):
private static String formatMessage(String message,java.util.Collection<? extends Identified> objects){
  final StringBuilder sb=new StringBuilder(message);
  if (message.startsWith("String_Node_Str")) {
    if (validationRules == null) {
      validationRules=new LinkedHashMap<String,SBOLValidationRule>();
      InputStreamReader f=new InputStreamReader(SBOLValidationRule.class.getResourceAsStream("String_Node_Str"));
      try {
        parse(new BufferedReader(f));
      }
 catch (      IOException e) {
        e.printStackTrace();
      }
    }
    String key=message.trim();
    SBOLValidationRule rule=validationRules.get(key);
    if (rule == null) {
      throw new RuntimeException("String_Node_Str");
    }
    sb.append("String_Node_Str" + rule.getDescription() + "String_Node_Str");
    if (!objects.isEmpty()) {
      sb.append("String_Node_Str");
      boolean first=true;
      for (      Identified obj : objects) {
        if (first) {
          first=false;
        }
 else {
          sb.append("String_Node_Str");
        }
        if (obj.getIdentity() != null) {
          sb.append(obj.getIdentity());
        }
      }
    }
  }
 else {
    if (!objects.isEmpty()) {
      sb.append("String_Node_Str");
      boolean first=true;
      for (      Identified obj : objects) {
        if (first) {
          first=false;
        }
 else {
          sb.append("String_Node_Str");
        }
        if (obj.getIdentity() != null) {
          sb.append(obj.getIdentity());
        }
      }
    }
  }
  return sb.toString();
}