Program: 94127
Project: 94127
Buggy source:
private static void handleSnapHeader(Context context,Object receivedSnap) throws Exception {
  Logger.printTitle("String_Node_Str");
  Logger.printMessage("String_Node_Str" + receivedSnap.getClass().getCanonicalName());
  String mId=(String)getObjectField(receivedSnap,"String_Node_Str");
  SnapType snapType=receivedSnap.getClass().getCanonicalName().equals("String_Node_Str") ? SnapType.STORY : SnapType.SNAP;
  Logger.printMessage("String_Node_Str" + snapType.name);
  String mKey=mId;
  String strSender;
  Logger.log("String_Node_Str" + getObjectField(receivedSnap,"String_Node_Str"));
  if (snapType == SnapType.SNAP) {
    mKey+=(String)getObjectField(receivedSnap,"String_Node_Str");
    strSender=(String)getObjectField(receivedSnap,"String_Node_Str");
  }
 else   strSender=(String)getObjectField(receivedSnap,"String_Node_Str");
  Logger.printMessage("String_Node_Str" + mKey);
  Logger.printMessage("String_Node_Str" + strSender);
  SnapData snapData=hashSnapData.get(mKey);
  if (snapData != null && scanForExisting(snapData,FlagState.HEADER)) {
    Logger.printFinalMessage("String_Node_Str");
    return;
  }
 else   if (snapData == null) {
    snapData=new SnapData(mKey);
    hashSnapData.put(mKey,snapData);
  }
  printFlags(snapData);
  long lngTimestamp=(Long)callMethod(receivedSnap,Obfuscator.save.SNAP_GETTIMESTAMP);
  Date timestamp=new Date(lngTimestamp);
  String strTimestamp=dateFormat.format(timestamp);
  Logger.printMessage("String_Node_Str" + strTimestamp);
  snapData.setHeader(mId,mKey,strSender,strTimestamp,snapType);
  if (shouldSave(snapData)) {
    if (asyncSaveMode)     new AsyncSaveSnapData().execute(context,snapData);
 else     handleSave(context,snapData);
  }
 else {
    currentSnapData=snapData;
    relativeContext=context;
    Logger.printFinalMessage("String_Node_Str");
  }
}

Fixed version (ground truth):
private static void handleSnapHeader(Context context,Object receivedSnap) throws Exception {
  Logger.printTitle("String_Node_Str");
  Logger.printMessage("String_Node_Str" + receivedSnap.getClass().getCanonicalName());
  String mId=(String)getObjectField(receivedSnap,"String_Node_Str");
  SnapType snapType=receivedSnap.getClass().getCanonicalName().equals("String_Node_Str") ? SnapType.STORY : SnapType.SNAP;
  Logger.printMessage("String_Node_Str" + snapType.name);
  String mKey=mId;
  String strSender;
  if (snapType == SnapType.SNAP) {
    mKey+=(String)getObjectField(receivedSnap,"String_Node_Str");
    strSender=(String)getObjectField(receivedSnap,"String_Node_Str");
  }
 else   strSender=(String)getObjectField(receivedSnap,"String_Node_Str");
  Logger.printMessage("String_Node_Str" + mKey);
  Logger.printMessage("String_Node_Str" + strSender);
  SnapData snapData=hashSnapData.get(mKey);
  if (snapData != null && scanForExisting(snapData,FlagState.HEADER)) {
    Logger.printFinalMessage("String_Node_Str");
    return;
  }
 else   if (snapData == null) {
    snapData=new SnapData(mKey);
    hashSnapData.put(mKey,snapData);
  }
  printFlags(snapData);
  long lngTimestamp=(Long)callMethod(receivedSnap,Obfuscator.save.SNAP_GETTIMESTAMP);
  Date timestamp=new Date(lngTimestamp);
  String strTimestamp=dateFormat.format(timestamp);
  Logger.printMessage("String_Node_Str" + strTimestamp);
  snapData.setHeader(mId,mKey,strSender,strTimestamp,snapType);
  if (shouldSave(snapData)) {
    if (asyncSaveMode)     new AsyncSaveSnapData().execute(context,snapData);
 else     handleSave(context,snapData);
  }
 else {
    currentSnapData=snapData;
    relativeContext=context;
    Logger.printFinalMessage("String_Node_Str");
  }
}