Program: 53967
Project: 53967
Buggy source:
public void testMethodWithSideEffects(){
  delayTestFinish(DELAY_TEST_FINISH);
  final SimpleFooEventHandler<SimpleFooProxy> handler=new SimpleFooEventHandler<SimpleFooProxy>();
  EntityProxyChange.registerForProxyType(req.getEventBus(),SimpleFooProxy.class,handler);
  simpleFooRequest().findSimpleFooById(999L).fire(new Receiver<SimpleFooProxy>(){
    @Override public void onSuccess(    SimpleFooProxy newFoo){
      assertEquals(1,handler.updateEventCount);
      assertEquals(1,handler.totalEventCount);
      SimpleFooRequest context=simpleFooRequest();
      final Request<Long> mutateRequest=context.countSimpleFooWithUserNameSideEffect().using(newFoo);
      newFoo=context.edit(newFoo);
      newFoo.setUserName("String_Node_Str");
      mutateRequest.fire(new Receiver<Long>(){
        @Override public void onSuccess(        Long response){
          assertCannotFire(mutateRequest);
          assertEquals(new Long(2L),response);
          assertEquals(2,handler.updateEventCount);
          assertEquals(2,handler.totalEventCount);
          simpleFooRequest().findSimpleFooById(999L).fire(new Receiver<SimpleFooProxy>(){
            @Override public void onSuccess(            SimpleFooProxy finalFoo){
              assertEquals("String_Node_Str",finalFoo.getUserName());
              assertEquals(3,handler.updateEventCount);
              assertEquals(3,handler.totalEventCount);
              finishTestAndReset();
            }
          }
);
        }
      }
);
      try {
        newFoo.setUserName("String_Node_Str");
        fail();
      }
 catch (      IllegalStateException e) {
      }
    }
  }
);
}

Fixed version (ground truth):
public void testMethodWithSideEffects(){
  delayTestFinish(DELAY_TEST_FINISH);
  final SimpleFooEventHandler<SimpleFooProxy> handler=new SimpleFooEventHandler<SimpleFooProxy>();
  EntityProxyChange.registerForProxyType(req.getEventBus(),SimpleFooProxy.class,handler);
  simpleFooRequest().findSimpleFooById(999L).fire(new Receiver<SimpleFooProxy>(){
    @Override public void onSuccess(    SimpleFooProxy newFoo){
      assertEquals(1,handler.updateEventCount);
      assertEquals(1,handler.totalEventCount);
      SimpleFooRequest context=simpleFooRequest();
      final Request<Long> mutateRequest=context.countSimpleFooWithUserNameSideEffect().using(newFoo);
      newFoo=context.edit(newFoo);
      newFoo.setUserName("String_Node_Str");
      mutateRequest.fire(new Receiver<Long>(){
        @Override public void onSuccess(        Long response){
          assertCannotFire(mutateRequest);
          assertEquals(new Long(2L),response);
          assertEquals(2,handler.updateEventCount);
          assertEquals(2,handler.totalEventCount);
          simpleFooRequest().findSimpleFooById(999L).fire(new Receiver<SimpleFooProxy>(){
            @Override public void onSuccess(            SimpleFooProxy finalFoo){
              assertEquals("String_Node_Str",finalFoo.getUserName());
              assertEquals(2,handler.updateEventCount);
              assertEquals(2,handler.totalEventCount);
              finishTestAndReset();
            }
          }
);
        }
      }
);
      try {
        newFoo.setUserName("String_Node_Str");
        fail();
      }
 catch (      IllegalStateException e) {
      }
    }
  }
);
}