anchor.diff:  %%--------------------------------------------------------------------
   -spec get(op_logic:req(), op_logic:entity()) -> op_logic:get_result().
   get(#op_req{client = Cl, data = Data, gri = #gri{id = FileGuid, aspect = list}}, _) ->
  -    SessionId = Cl#client.id,
  +    SessionId = Cl#client.session_id,
       Limit = maps:get(<<"limit">>, Data, ?DEFAULT_LIST_ENTRIES),
       Offset = maps:get(<<"offset">>, Data, ?DEFAULT_LIST_OFFSET),
  -
  -    {ok, Path} = logical_file_manager:get_file_path(SessionId, FileGuid),
  +    {ok, Path} = ?call_lfm(get_file_path(SessionId, FileGuid)),
   
       case logical_file_manager:stat(SessionId, {guid, FileGuid}) of
           {ok, #file_attr{type = ?DIRECTORY_TYPE, guid = Guid}} ->
  -            {ok, Children} = logical_file_manager:ls(SessionId, {guid, FileGuid}, Offset, Limit),
  +            {ok, Children} = ?call_lfm(ls(SessionId, {guid, Guid}, Offset, Limit)),
               {ok, lists:map(fun({ChildGuid, ChildPath}) ->
                       {ok, ObjectId} = file_id:guid_to_objectid(ChildGuid),
                       #{<<"id">> => ObjectId, <<"path">> => filename:join(Path, ChildPath)}
  
positive.code:     <<"owner_id">>, <<"shares">>, <<"type">>, <<"file_id">>
  ]).
  
  -define(call_lfm(__FunctionCall),
      case logical_file_manager:__FunctionCall of
          {error, _} = __Error -> throw(__Error);
          __Result -> __Result
      end
  ).
  
  %%%===================================================================
  %%% API
  
negative.code: -behaviour(op_logic_behaviour).
  
  -include("op_logic.hrl").
  -include("http/rest/rest_api/rest_errors.hrl").
  -include_lib("ctool/include/api_errors.hrl").
  
  -export([op_logic_plugin/0]).
  -export([
      operation_supported/3,
      data_spec/1,
      fetch_entity/1,
      exists/2,
      authorize/2,
      validate/2
  ]).
  -export([create/1, get/2, update/1, delete/1]).
  
  -define(DEFAULT_LIST_OFFSET, 0).
  -define(DEFAULT_LIST_ENTRIES, 1000).
  