Program: 43895
Project: 43895
Buggy source:
public int update(String localFNM,String remoteFNM,Map parameters) throws Exception {
  HttpResponse response=null;
  HttpPut httpput=new HttpPut(endpoint + remoteFNM);
  httpput.setHeader("String_Node_Str",CDMIContentType.CDMI_DATA);
  httpput.setHeader("String_Node_Str",CDMIContentType.CDMI_DATA);
  httpput.setHeader("String_Node_Str",CDMIContentType.CDMI_SPEC_VERSION);
  BlobUpdateRequest update=new BlobUpdateRequest();
  update.mimetype=parameters.get("String_Node_Str") != null ? (String)parameters.get("String_Node_Str") : "String_Node_Str";
  if (parameters.get("String_Node_Str") != null)   update.metadata=(MetadataField)parameters.get("String_Node_Str");
  if (parameters.get("String_Node_Str") != null)   update.domainURI=(String)parameters.get("String_Node_Str");
  update.value=Utils.getContents(new File(localFNM));
  Gson gson=new Gson();
  StringEntity entity=new StringEntity(gson.toJson(update));
  httpput.setEntity(entity);
  response=httpclient.execute(httpput);
  int responseCode=response.getStatusLine().getStatusCode();
switch (responseCode) {
case 200:
    break;
case 302:
  throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 400:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 401:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 403:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 404:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 409:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
}
return responseCode;
}

Fixed version (ground truth):
public int update(String localFNM,String remoteFNM,Map parameters) throws Exception {
  HttpResponse response=null;
  HttpPut httpput=new HttpPut(endpoint + remoteFNM);
  httpput.setHeader("String_Node_Str",CDMIContentType.CDMI_DATA);
  httpput.setHeader("String_Node_Str",CDMIContentType.CDMI_DATA);
  httpput.setHeader("String_Node_Str",CDMIContentType.CDMI_SPEC_VERSION);
  BlobUpdateRequest update=new BlobUpdateRequest();
  update.mimetype=parameters.get("String_Node_Str") != null ? (String)parameters.get("String_Node_Str") : "String_Node_Str";
  update.metadata=(MetadataField)parameters.get("String_Node_Str");
  update.domainURI=(String)parameters.get("String_Node_Str");
  update.value=Utils.getContents(new File(localFNM));
  Gson gson=new Gson();
  StringEntity entity=new StringEntity(gson.toJson(update));
  httpput.setEntity(entity);
  response=httpclient.execute(httpput);
  int responseCode=response.getStatusLine().getStatusCode();
  HttpEntity ent=response.getEntity();
  EntityUtils.consume(ent);
switch (responseCode) {
case 200:
    break;
case 302:
  throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 400:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 401:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 403:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 404:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
case 409:
throw new CDMIOperationException("String_Node_Str" + endpoint + remoteFNM,responseCode);
}
return responseCode;
}