txMap1.startTransaction();
thread1.start();
report("value1", (String) txMap1.get("key1"));
beforeCommitBarrier.call();
afterCommitBarrier.meet();
// we have read committed as isolation level, that's why I will see the new value of the other thread now
report("value2", (String) txMap1.get("key1"));
// now when I override it it should of course be my value again
txMap1.put("key1", "value3");