anchor.diff:      orelse is_record(Type, file_renamed_event)
       orelse is_record(Type, quota_exceeded_event) ->
       {ok, #document{value = #session{proxy_via = ProxyVia}}} = session:get(SessId),
  -    utils:ensure_defined(ProxyVia, undefined, oneprovider:get_id_or_undefined());
  +    utils:ensure_defined(ProxyVia, undefined, self);
   get_provider(_, SessId, FileCtx) ->
       ProviderId = oneprovider:get_id(),
       case file_ctx:is_root_dir_const(FileCtx) of
  
positive.code:     RequestCtx = get_context(Request),
      case RequestCtx of
          undefined ->
              oneprovider:get_id_or_undefined();
          {file, FileCtx} ->
              FileGuid = file_ctx:get_guid_const(FileCtx),
              case get_from_memory(Manager, guid_to_provider, FileGuid) of
  
negative.code: get_from_memory(Manager, StreamType, StmId) ->
      ets_state:get(session, Manager, {StreamType, StmId}).
  
  init_memory(SessionID) ->
      Manager = self(),
      ets_state:save(session, Manager, streams, #{}),
      ets_state:save(session, Manager, subscriptions, #{}),
      ets_state:save(session, Manager, sub_to_provider, #{}),
      ets_state:save(session, Manager, guid_to_provider, #{}),
      ets_state:save(session, Manager, session_id, SessionID).
  
  delete_memory() ->
      delete_data(streams),
  