anchor.diff:  %%%===================================================================
   %%% Internal functions
   %%%===================================================================
  +
  +%% Receive all messages with given prefix
  +receive_all(Prefix, Received) ->
  +    receive
  +        {Prefix, Data} ->
  +            receive_all(Prefix, [Data | Received])
  +    after
  +        timer:seconds(5) ->
  +            lists:usort(Received)
  +    end.
   
   %% Clean mailbox
   flush() ->
  
positive.code:             Val = #test_record_1{field1 = N, field2 = N, field3 = N},
              Doc = #document{key = Key, value = Val},
              ?assertEqual({ok, Key}, rpc:call(W1, test_record_1, save, [Doc])),
              {_, _, DocR, _} = ?assertReceivedMatch({force_save_test, _,
                  #document{key = Key, value = Val}, test_record_1}, ?TIMEOUT),
              DocR
          end,
          lists:seq(1, 10)
  
negative.code:     Doc2Val = #test_record_2{field1 = 4, field2 = 5, field3 = 6},
      Doc2 = #document{key = Doc2Key, value = Doc2Val},
      ?assertEqual({ok, Doc2Key}, rpc:call(W, test_record_2, save, [Doc2])),
      {_, {_, DocR2, ModR2}} = ?assertReceivedMatch({record_saving_test,
          {_, #document{}, _}}, ?TIMEOUT),
      #document{key = KeyR2, value = ValR2} = DocR2,
      ?assertEqual({Doc2Key, Doc2Val, test_record_2}, {KeyR2, ValR2, ModR2}),
  
  