anchor.diff:  
   %%%===================================================================
   %%% Internal functions
  -%%%===================================================================+%%%===================================================================
  +
  +exec_and_check_time(Mod, M, A) ->
  +    BeforeProcessing = os:timestamp(),
  +    Ans = erlang:apply(Mod, M, A),
  +    AfterProcessing = os:timestamp(),
  +    {Ans, timer:now_diff(AfterProcessing, BeforeProcessing)}.
  +
  +create_deep_tree(Worker) ->
  +    create_deep_tree(Worker, "/spaces/Space 1", 18).
  +
  +create_deep_tree(Worker, Prefix, 1) ->
  +    {{A, U}, Time} = ?call_with_time(Worker, create, [{path, list_to_binary(Prefix)}, #file_meta{name = <<"1">>}]),
  +    ?assertMatch({ok, _}, {A, U}),
  +    {list_to_binary(Prefix++"/1"), Time};
  +
  +create_deep_tree(Worker, Prefix, Num) ->
  +    StringNum = integer_to_list(Num),
  +    {A, U} = ?call(Worker, create, [{path, list_to_binary(Prefix)}, #file_meta{name = list_to_binary(StringNum)}]),
  +    ?assertMatch({ok, _}, {A, U}),
  +    create_deep_tree(Worker, Prefix++"/"++StringNum, Num-1).
  
positive.code: basic_operations_test(Config) ->
      [Worker1, Worker2] = ?config(op_worker_nodes, Config),
  
      {A1, U1} = ?call(Worker1, create, [{path, <<"/">>}, #file_meta{name = <<"spaces">>, is_scope = true}]),
      {A2, U2} = ?call(Worker2, create, [{path, <<"/spaces">>}, #file_meta{name = <<"Space 1">>, is_scope = true}]),
      {A3, U3} = ?call(Worker1, create, [{path, <<"/spaces/Space 1">>}, #file_meta{name = <<"dir1">>}]),
      {A4, U4} = ?call(Worker1, create, [{path, <<"/spaces/Space 1/dir1">>}, #file_meta{name = <<"file1">>}]),
      {A20, U20} = ?call(Worker1, create, [{path, <<"/spaces/Space 1">>}, #file_meta{name = <<"dir2">>}]),
      {A21, U21} = ?call(Worker1, create, [{path, <<"/spaces/Space 1/dir2">>}, #file_meta{name = <<"file1">>}]),
  
negative.code:     ?assertMatch({ok, #document{value = #file_meta{name = <<"dir1">>}}},    {A7, U7}),
      ?assertMatch({ok, #document{value = #file_meta{name = <<"file1">>}}},   {A8, U8}),
  
      {{AL20, UL20}, GetLevel20} = ?call_with_time(Worker1, get, [{path, Level20Path}]),
      ?assertMatch({ok, #document{value = #file_meta{name = <<"1">>}}},   {AL20, UL20}),
  
  %%     @RS - jaki sens ma pobieranie sciezki po sciezce? Zmien na inny klucz
      {{A30, U30}, GetPathLevel1} = ?call_with_time(Worker1, gen_path, [{path, <<"/spaces">>}]),
      {{A31, U31}, GetPathLevel2} = ?call_with_time(Worker2, gen_path, [{path, <<"/spaces/Space 1">>}]),
      {{A32, U32}, GetPathLevel3} = ?call_with_time(Worker2, gen_path, [{path, <<"/spaces/Space 1/dir2">>}]),
      ?assertMatch({ok, <<"/spaces">>}, {A30, U30}),
      ?assertMatch({ok, <<"/spaces/Space 1">>}, {A31, U31}),
      ?assertMatch({ok, <<"/spaces/Space 1/dir2">>}, {A32, U32}),
  
      {{AL20_2, UL20_2}, GetPathLevel20} = ?call_with_time(Worker2, gen_path, [{path, Level20Path}]),
      ?assertMatch({ok, Level20Path}, {AL20_2, UL20_2}),
  
      {{A9, U9}, GetScopeLevel0} =   ?call_with_time(Worker1, get_scope, [U14]),
      {{A10, U10}, GetScopeLevel1} = ?call_with_time(Worker1, get_scope, [U5]),
      {{A11, U11}, GetScopeLevel2} = ?call_with_time(Worker2, get_scope, [U6]),
      {A12, U12} = ?call(Worker1, get_scope, [U7]),
      {A13, U13} = ?call(Worker2, get_scope, [U8]),
      ?assertMatch({ok, #document{key = <<"">>}},         {A9, U9}),
  