anchor.diff:  %%% @doc
   %%% This module is responsible for listing recursively non-directory files 
   %%% (i.e regular, symlinks and hardlinks) in subtree of given top directory. 
  +%%% Files are listed in lexicographically ordered by path.
   %%% For each such file returns its file basic attributes (see file_attr.hrl) 
   %%% along with the path to the file relative to the top directory.
   %%% All directory paths user does not have access to are returned under `inaccessible_paths` key.
  
positive.code: %%%===================================================================
  
  %% @private
  -spec list_children_with_access_check(user_ctx:ctx(), file_ctx:ctx(), file_meta:list_opts()) ->
      {ok, [file_ctx:ctx()], file_meta:list_extended_info(), file_ctx:ctx()} | {error, ?EACCES}.
  list_children_with_access_check(UserCtx, FileCtx, ListOpts) ->
      try
          {IsDir, FileCtx2} = file_ctx:is_dir(FileCtx),
          AccessRequirements = case IsDir of
              true -> [?TRAVERSE_ANCESTORS, ?OPERATIONS(?traverse_container_mask, ?list_container_mask)];
              false -> [?TRAVERSE_ANCESTORS]
          end,
          {CanonicalChildrenWhiteList, FileCtx3} = fslogic_authz:ensure_authorized_readdir(
              UserCtx, FileCtx2, AccessRequirements
          ),
          {Children, ExtendedInfo, FileCtx4} = file_listing:list_children(UserCtx, FileCtx3, ListOpts, CanonicalChildrenWhiteList),
          {ok, Children, ExtendedInfo, FileCtx4}
      catch throw:?EACCES ->
          {error, ?EACCES}
      end.
  
  
  %% @private
  
negative.code: 
  -record(state, {
      %% values provided in options (unchanged during listing)
      start_after_path :: file_meta:path(),   % required for checking whether file, that is to be 
                                              % appended to result, is not pointed by a start_after_path 
                                              % (listing should start AFTER file with this path).
      prefix = <<>> :: prefix(),
      
      % depth of listing root file relative to space root (unchanged during listing)
  