Program: 160267
Project: 160267
Buggy source:
public void testWinningRevIDOfDoc() throws Exception {
  if (!isSQLiteDB())   return;
  SQLiteStore store=(SQLiteStore)database.getStore();
  Map<String,Object> properties=new HashMap<String,Object>();
  properties.put("String_Node_Str","String_Node_Str");
  properties.put("String_Node_Str",1337);
  Map<String,Object> properties2a=new HashMap<String,Object>();
  properties2a.put("String_Node_Str","String_Node_Str");
  properties2a.put("String_Node_Str",1338);
  Map<String,Object> properties2b=new HashMap<String,Object>();
  properties2b.put("String_Node_Str","String_Node_Str");
  properties2b.put("String_Node_Str",1339);
  AtomicBoolean outIsDeleted=new AtomicBoolean(false);
  AtomicBoolean outIsConflict=new AtomicBoolean(false);
  Document doc=database.createDocument();
  UnsavedRevision newRev1=doc.createRevision();
  newRev1.setUserProperties(properties);
  SavedRevision rev1=newRev1.save();
  long docNumericId=store.getDocNumericID(doc.getId());
  assertTrue(docNumericId != 0);
  assertEquals(rev1.getId(),store.winningRevIDOfDocNumericID(docNumericId,outIsDeleted,outIsConflict));
  assertFalse(outIsConflict.get());
  outIsDeleted.set(false);
  outIsConflict.set(false);
  UnsavedRevision newRev2a=rev1.createRevision();
  newRev2a.setUserProperties(properties2a);
  SavedRevision rev2a=newRev2a.save();
  assertEquals(rev2a.getId(),store.winningRevIDOfDocNumericID(docNumericId,outIsDeleted,outIsConflict));
  assertFalse(outIsConflict.get());
  outIsDeleted.set(false);
  outIsConflict.set(true);
  UnsavedRevision newRev2b=rev1.createRevision();
  newRev2b.setUserProperties(properties2b);
  SavedRevision rev2b=newRev2b.save(true);
  store.winningRevIDOfDocNumericID(docNumericId,outIsDeleted,outIsConflict);
  assertTrue(outIsConflict.get());
}

Fixed version (ground truth):
public void testWinningRevIDOfDoc() throws Exception {
  if (!isSQLiteDB())   return;
  Method m=database.getClass().getDeclaredMethod("String_Node_Str");
  m.setAccessible(true);
  SQLiteStore store=(SQLiteStore)m.invoke(database);
  Map<String,Object> properties=new HashMap<String,Object>();
  properties.put("String_Node_Str","String_Node_Str");
  properties.put("String_Node_Str",1337);
  Map<String,Object> properties2a=new HashMap<String,Object>();
  properties2a.put("String_Node_Str","String_Node_Str");
  properties2a.put("String_Node_Str",1338);
  Map<String,Object> properties2b=new HashMap<String,Object>();
  properties2b.put("String_Node_Str","String_Node_Str");
  properties2b.put("String_Node_Str",1339);
  AtomicBoolean outIsDeleted=new AtomicBoolean(false);
  AtomicBoolean outIsConflict=new AtomicBoolean(false);
  Document doc=database.createDocument();
  UnsavedRevision newRev1=doc.createRevision();
  newRev1.setUserProperties(properties);
  SavedRevision rev1=newRev1.save();
  long docNumericId=store.getDocNumericID(doc.getId());
  assertTrue(docNumericId != 0);
  assertEquals(rev1.getId(),store.winningRevIDOfDocNumericID(docNumericId,outIsDeleted,outIsConflict));
  assertFalse(outIsConflict.get());
  outIsDeleted.set(false);
  outIsConflict.set(false);
  UnsavedRevision newRev2a=rev1.createRevision();
  newRev2a.setUserProperties(properties2a);
  SavedRevision rev2a=newRev2a.save();
  assertEquals(rev2a.getId(),store.winningRevIDOfDocNumericID(docNumericId,outIsDeleted,outIsConflict));
  assertFalse(outIsConflict.get());
  outIsDeleted.set(false);
  outIsConflict.set(true);
  UnsavedRevision newRev2b=rev1.createRevision();
  newRev2b.setUserProperties(properties2b);
  SavedRevision rev2b=newRev2b.save(true);
  store.winningRevIDOfDocNumericID(docNumericId,outIsDeleted,outIsConflict);
  assertTrue(outIsConflict.get());
}