Program: 4995
Project: 4995
Buggy source:
/** 
 * Overloaded constructor that picks up data from between the  nulls That data is then made into a nice xml string that can  be converted into a LimeXMLDocument
 */
public Response(String betweenNulls,long index,long size,String name){
  Assert.that((index & 0xFFFFFFFF00000000l) == 0,"String_Node_Str");
  Assert.that((size & 0xFFFFFFFF00000000l) == 0,"String_Node_Str");
  String length="String_Node_Str";
  String bitrate="String_Node_Str";
  StringTokenizer tok=new StringTokenizer(betweenNulls);
  String first=tok.nextToken();
  String second=tok.nextToken();
  boolean bearShare1=false;
  boolean bearShare2=false;
  boolean gnotella=false;
  if (second.startsWith("String_Node_Str"))   bearShare1=true;
 else   if (first.endsWith("String_Node_Str"))   bearShare2=true;
  if (bearShare1) {
    bitrate=first;
  }
 else   if (bearShare2) {
    int j=first.indexOf("String_Node_Str");
    bitrate=first.substring(0,j);
  }
  if (bearShare1 || bearShare2) {
    while (tok.hasMoreTokens())     length=tok.nextToken();
  }
 else   if (betweenNulls.endsWith("String_Node_Str")) {
    gnotella=true;
    length=first;
    int i=second.indexOf("String_Node_Str");
    bitrate=second.substring(0,i);
  }
  if (bearShare1 || bearShare2 || gnotella) {
    this.metadata="String_Node_Str" + "String_Node_Str" + "String_Node_Str" + name + "String_Node_Str"+ bitrate+ "String_Node_Str"+ length+ "String_Node_Str"+ "String_Node_Str";
    this.metaBytes=metadata.getBytes();
    this.index=index;
  }
  this.size=size;
  this.name=name;
  this.nameBytes=name.getBytes();
}

Fixed version (ground truth):
/** 
 * Overloaded constructor that picks up data from between the  nulls That data is then made into a nice xml string that can  be converted into a LimeXMLDocument
 */
public Response(String betweenNulls,long index,long size,String name){
  Assert.that((index & 0xFFFFFFFF00000000l) == 0,"String_Node_Str");
  Assert.that((size & 0xFFFFFFFF00000000l) == 0,"String_Node_Str");
  String length="String_Node_Str";
  String bitrate="String_Node_Str";
  String first="String_Node_Str";
  String second="String_Node_Str";
  StringTokenizer tok=new StringTokenizer(betweenNulls);
  try {
    first=tok.nextToken();
    second=tok.nextToken();
  }
 catch (  Exception e) {
    first="String_Node_Str";
    second="String_Node_Str";
    betweenNulls="String_Node_Str";
  }
  boolean bearShare1=false;
  boolean bearShare2=false;
  boolean gnotella=false;
  if (second.startsWith("String_Node_Str"))   bearShare1=true;
 else   if (first.endsWith("String_Node_Str"))   bearShare2=true;
  if (bearShare1) {
    bitrate=first;
  }
 else   if (bearShare2) {
    int j=first.indexOf("String_Node_Str");
    bitrate=first.substring(0,j);
  }
  if (bearShare1 || bearShare2) {
    while (tok.hasMoreTokens())     length=tok.nextToken();
  }
 else   if (betweenNulls.endsWith("String_Node_Str")) {
    gnotella=true;
    length=first;
    int i=second.indexOf("String_Node_Str");
    bitrate=second.substring(0,i);
  }
  if (bearShare1 || bearShare2 || gnotella) {
    this.metadata="String_Node_Str" + "String_Node_Str" + "String_Node_Str" + name + "String_Node_Str"+ bitrate+ "String_Node_Str"+ length+ "String_Node_Str"+ "String_Node_Str";
    this.metaBytes=metadata.getBytes();
    this.index=index;
  }
  this.size=size;
  this.name=name;
  this.nameBytes=name.getBytes();
}