{
public void run(String[] args)
{
boolean passed = false;
RecoverableObject foo = new RecoverableObject();
int value = 0;
AtomicAction A = new AtomicAction();
A.begin();
logInformation("value is "+foo.get());
foo.set(2);
logInformation("value is "+foo.get());
A.abort();
value = foo.get();
logInformation("value is now "+value);
if (value == 0)
{
AtomicAction B = new AtomicAction();
B.begin();
logInformation("value is "+foo.get());
foo.set(4);
logInformation("value is "+foo.get());
B.commit();
value = foo.get();
logInformation("value is now "+value);
if (value == 4)
passed = true;