Program: 20940
Project: 20940
Buggy source:
@SuppressWarnings("String_Node_Str") public String toString(){
  StringBuilder sb=new StringBuilder();
  sb.append("String_Node_Str" + this.getURL() + "String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(getRequestMethod() + "String_Node_Str" + getURL().getPath()+ (getURL().getQuery() != null ? "String_Node_Str" + getURL().getQuery() : "String_Node_Str")+ "String_Node_Str");
  for (Iterator<Entry<String,List<String>>> it=this.getRequestProperties().entrySet().iterator(); it.hasNext(); ) {
    Entry<String,List<String>> next=it.next();
    StringBuilder value=new StringBuilder();
    for (    String v : next.getValue()) {
      value.append(';');
      value.append(v);
    }
    String v=value.toString();
    if (v.length() > 0)     v=v.substring(1);
    sb.append(next.getKey());
    sb.append(new char[]{':',' '});
    sb.append(v);
    sb.append(new char[]{'\r','\n'});
  }
  sb.append(new char[]{'\r','\n'});
  if (this.getRequest() != null) {
    if (getRequest() instanceof PostRequest) {
      sb.append(((PostRequest)getRequest()).getPostDataString());
      sb.append(new char[]{'\r','\n'});
    }
 else     if (getRequest() instanceof PostFormDataRequest) {
      sb.append(((PostFormDataRequest)getRequest()).getPostDataString());
      sb.append(new char[]{'\r','\n'});
    }
  }
  sb.append("String_Node_Str");
  for (Iterator<Entry<String,List<String>>> it=getHeaderFields().entrySet().iterator(); it.hasNext(); ) {
    Entry<String,List<String>> next=it.next();
    for (int i=next.getValue().size() - 1; i >= 0; i--) {
      if (next.getKey() == null) {
        sb.append(next.getValue().get(i));
        sb.append(new char[]{'\r','\n'});
      }
 else {
        sb.append(next.getKey());
        sb.append(new char[]{':',' '});
        sb.append(next.getValue().get(i));
        sb.append(new char[]{'\r','\n'});
      }
    }
  }
  sb.append(new char[]{'\r','\n'});
  return sb.toString();
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public String toString(){
  StringBuilder sb=new StringBuilder();
  sb.append("String_Node_Str" + this.getURL() + "String_Node_Str");
  sb.append("String_Node_Str");
  sb.append(getRequestMethod() + "String_Node_Str" + getURL().getPath()+ (getURL().getQuery() != null ? "String_Node_Str" + getURL().getQuery() : "String_Node_Str")+ "String_Node_Str");
  for (Iterator<Entry<String,List<String>>> it=this.getRequestProperties().entrySet().iterator(); it.hasNext(); ) {
    Entry<String,List<String>> next=it.next();
    StringBuilder value=new StringBuilder();
    for (    String v : next.getValue()) {
      value.append(';');
      value.append(v);
    }
    String v=value.toString();
    if (v.length() > 0)     v=v.substring(1);
    sb.append(next.getKey());
    sb.append(new char[]{':',' '});
    sb.append(v);
    sb.append(new char[]{'\r','\n'});
  }
  sb.append(new char[]{'\r','\n'});
  if (this.getRequest() != null) {
    if (getRequest() instanceof PostRequest) {
      if (((PostRequest)getRequest()).getPostDataString() != null)       sb.append(((PostRequest)getRequest()).getPostDataString());
      sb.append(new char[]{'\r','\n'});
    }
 else     if (getRequest() instanceof PostFormDataRequest) {
      if (((PostFormDataRequest)getRequest()).getPostDataString() != null)       sb.append(((PostFormDataRequest)getRequest()).getPostDataString());
      sb.append(new char[]{'\r','\n'});
    }
  }
  sb.append("String_Node_Str");
  for (Iterator<Entry<String,List<String>>> it=getHeaderFields().entrySet().iterator(); it.hasNext(); ) {
    Entry<String,List<String>> next=it.next();
    for (int i=next.getValue().size() - 1; i >= 0; i--) {
      if (next.getKey() == null) {
        sb.append(next.getValue().get(i));
        sb.append(new char[]{'\r','\n'});
      }
 else {
        sb.append(next.getKey());
        sb.append(new char[]{':',' '});
        sb.append(next.getValue().get(i));
        sb.append(new char[]{'\r','\n'});
      }
    }
  }
  sb.append(new char[]{'\r','\n'});
  return sb.toString();
}