Program: 4636
Project: 4636
Buggy source:
/** 
 * Overloaded constructor that allows the creation of Responses with meta-data and a <tt>Set</tt> of <tt>URN</tt> instances.  This  is the primary constructor that establishes all of the class's  invariants, does any necessary parameter validation, etc.
 * @param index the index of the file referenced in the response
 * @param size the size of the file (in bytes)
 * @param name the name of the file
 * @param metadata the string of metadata associated with the file
 * @param urns the <tt>Set</tt> of <tt>URN</tt> instances associatedwith the file
 * @param doc the <tt>LimeXMLDocument</tt> instance associated withthe file
 */
public Response(long index,long size,String name,String metadata,Set urns,LimeXMLDocument doc,byte[] rawMeta){
  Assert.that((index & 0xFFFFFFFF00000000l) == 0,"String_Node_Str");
  Assert.that((size & 0xFFFFFFFF00000000l) == 0,"String_Node_Str");
  this.index=index;
  this.size=size;
  if (name == null) {
    this.name="String_Node_Str";
  }
 else {
    this.name=name;
  }
  this.nameBytes=this.name.getBytes();
  if (urns == null) {
    this.urns=EMPTY_SET;
  }
 else {
    this.urns=Collections.unmodifiableSet(urns);
  }
  if (rawMeta != null)   this.extBytes=rawMeta;
 else   this.extBytes=createExtBytes(this.urns);
  if (((metadata == null) || (metadata.equals("String_Node_Str"))) && (doc != null)) {
    this.metadata=extractMetadata(doc);
  }
 else   if (metadata == null) {
    this.metadata="String_Node_Str";
  }
 else {
    this.metadata=metadata.trim();
  }
  Assert.that(this.metadata != null,"String_Node_Str");
  try {
    this.metaBytes=this.metadata.getBytes("String_Node_Str");
  }
 catch (  UnsupportedEncodingException ueex) {
    this.metaBytes=this.metadata.getBytes();
  }
  this.document=doc;
}

Fixed version (ground truth):
/** 
 * Overloaded constructor that allows the creation of Responses with meta-data and a <tt>Set</tt> of <tt>URN</tt> instances.  This  is the primary constructor that establishes all of the class's  invariants, does any necessary parameter validation, etc.
 * @param index the index of the file referenced in the response
 * @param size the size of the file (in bytes)
 * @param name the name of the file
 * @param metadata the string of metadata associated with the file
 * @param urns the <tt>Set</tt> of <tt>URN</tt> instances associatedwith the file
 * @param doc the <tt>LimeXMLDocument</tt> instance associated withthe file
 */
public Response(long index,long size,String name,String metadata,Set urns,LimeXMLDocument doc,byte[] rawMeta){
  if ((index & 0xFFFFFFFF00000000L) != 0)   throw new IllegalArgumentException("String_Node_Str" + index);
  if ((size & 0xFFFFFFFF00000000L) != 0)   throw new IllegalArgumentException("String_Node_Str" + size);
  this.index=index;
  this.size=size;
  if (name == null) {
    this.name="String_Node_Str";
  }
 else {
    this.name=name;
  }
  this.nameBytes=this.name.getBytes();
  if (urns == null) {
    this.urns=EMPTY_SET;
  }
 else {
    this.urns=Collections.unmodifiableSet(urns);
  }
  if (rawMeta != null)   this.extBytes=rawMeta;
 else   this.extBytes=createExtBytes(this.urns);
  if (((metadata == null) || (metadata.equals("String_Node_Str"))) && (doc != null)) {
    this.metadata=extractMetadata(doc);
  }
 else   if (metadata == null) {
    this.metadata="String_Node_Str";
  }
 else {
    this.metadata=metadata.trim();
  }
  Assert.that(this.metadata != null,"String_Node_Str");
  try {
    this.metaBytes=this.metadata.getBytes("String_Node_Str");
  }
 catch (  UnsupportedEncodingException ueex) {
    this.metaBytes=this.metadata.getBytes();
  }
  this.document=doc;
}