anchor.diff:                      {ok, ?EACCES} ->
                           throw(?EACCES);
                       _ ->
  -                        {Acl, _} = get_acl(Uuid, AclMap),
  +                        Acl = get_acl(Uuid),
                           [{?traverse_container, NewSubjDoc, UserDoc, ShareId, Acl}]
                   end;
               _ ->
                   []
           end,
   
  -    {AncestorsCheck, CacheUsed} = expand_ancestors_check(Uuid, [], UserId, UserDoc, ShareId, AclMap),
  +    {AncestorsCheck, CacheUsed} = expand_ancestors_check(Uuid, [], UserId, UserDoc, ShareId),
       case {ShareId, CacheUsed} of
           {undefined, _} ->
               SubjectCheck ++ AncestorsCheck;
  
positive.code:             throw(?EACCES);
          _ ->
              #document{value = #file_meta{}} = FileDoc = check_permissions:get_validation_subject(UserId, {uuid, AncestorId}),
              {AncestorAcl, _} = get_acl(AncestorId, AclMap),
              expand_ancestors_check(AncestorId, [{?traverse_container, FileDoc, UserDoc, ShareId, AncestorAcl} | Acc],
                  UserId, UserDoc, ShareId, AclMap)
      end.
  
  %%--------------------------------------------------------------------
  
negative.code: %% @end
  %%--------------------------------------------------------------------
  -spec expand_traverse_ancestors_check(file_meta:doc() | undefined, file_meta:doc() | undefined,
      od_user:doc(), od_share:id() | undefined) ->
      [{check_type(), datastore:document(), datastore:document(), od_share:id() | undefined, [#accesscontrolentity{}]}].
  expand_traverse_ancestors_check(SubjectDoc, ParentDoc, UserDoc = #document{key = UserId}, ShareId) ->
      NewSubjDoc =
          case SubjectDoc =/= undefined andalso SubjectDoc#document.value#file_meta.is_scope of
              true ->
  