anchor.diff:          end,
       change_node_state(Node, F).
   
  +
  +change_lease_replicas(Node) ->
  +    F = fun(State) ->
  +                reset_read_and_write_rounds(State, leases_1, lease_db1),
  +                reset_read_and_write_rounds(State, leases_2, lease_db2),
  +                reset_read_and_write_rounds(State, leases_3, lease_db3),
  +                reset_read_and_write_rounds(State, leases_4, lease_db4),
  +                State
  +        end,
  +    change_node_state(Node, F).
  +
   change_node_state(Node, F) ->
       comm:send_local(Node, {set_state, comm:this(), F}),
       receive
           {set_state_response, _NewState} ->
               ok
       end.
  +
  +
  +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  +%
  +% functions manipulating prbr state
  +%
  +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  +
  +reset_read_and_write_rounds(State, DBName, PRBRName) ->
  +    LeaseDB = dht_node_state:get_prbr_state(State, DBName),
  +    ct:pal("LeaseDB ~p", [LeaseDB]),
  +    [ 
  +      prbr:set_entry({Key, 
  +                      {ReadRound, ReadClientId, ReadWriteFilter}, 
  +                      {WriteRound, WriteClientId, WriteWriteFilter}, 
  +                      unittest_crash_recovery}, LeaseDB)
  +
  +      || {Key, 
  +          {ReadRound, ReadClientId, ReadWriteFilter}, 
  +          {WriteRound, WriteClientId, WriteWriteFilter},
  +          Value} 
  +             <- prbr:tab2list_raw_unittest(LeaseDB)],
  +    ok.
  
positive.code:         end,
  
      generic_crash_recovery_test(F, 3).
  
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
negative.code: groups() ->
      [{crash_recovery_tests,[sequence], [
                                          test_crash_recovery,
                                          test_crash_recovery_one_new_node,
                                          test_crash_recovery_one_outdated_node]}
      ].
  
  all() ->
  