anchor.diff:                   fun Receiver() ->
                        receive
                            {Entry0, ScopeUUID0} ->
  -                             SetterFun(Entry0, ScopeUUID0),
                                Receiver();
                            exit ->
                                ok,
  
positive.code: 
                  datastore:run_synchronized(?MODEL_NAME, Key1, fun() ->
                      datastore:run_synchronized(?MODEL_NAME, Key2, fun() ->
                          {ok, NewScope} = get_scope(NewParent),
                          {ok, FileUUID} = update(Subject, #{name => NewName}),
                          {ok, NewScope} = get_scope(NewParent),
                          set_link_context(NewScope),
                          ok = datastore:add_links(?LINK_STORE_LEVEL, FileUUID, ?MODEL_NAME, {parent, NewParent}),
                          ok = update_links_in_parents(OldParentUUID, NewParentUUID, OldName, NewName, V, {uuid, FileUUID}),
  
negative.code:     ok = set_scopes6(Entry, NewScopeUUID, [Setter | Setters], SettersBak, Offset, BatchSize), %% set_scopes for current entry
      ok = set_scopes6(R, NewScopeUUID, Setters, [Setter | SettersBak], Offset, BatchSize);     %% set_scopes for other entries
  set_scopes6(Entry, NewScopeUUID, [Setter | Setters], SettersBak, Offset, BatchSize) -> %% set_scopes for current entry
      {ok, ChildLinks} = list_children(Entry, Offset, BatchSize), %% Apply this fuction for all children
      case length(ChildLinks) < BatchSize of
          true ->
              Setter ! {Entry, NewScopeUUID}; %% Send job to first available process;
          false ->
              ok = set_scopes6(Entry, NewScopeUUID, Setters, [Setter | SettersBak], Offset + BatchSize, BatchSize)
      end,
  