anchor.diff:      RequestCtx = get_context(Request),
       case RequestCtx of
           undefined ->
  -            oneprovider:get_id_or_undefined();
  +            self;
           {file, FileCtx} ->
               FileGuid = file_ctx:get_guid_const(FileCtx),
               case get_from_memory(Manager, guid_to_provider, FileGuid) of
  
positive.code:         case {get_provider(Request, Manager), Request} of
              {self, _} ->
                  handle_locally(Request, Manager);
              {RemoteProviderId, _} ->
                  {ok, SessId} = ets_state:get(session, Manager, session_id),
                  handle_remotely(Request, RemoteProviderId, SessId);
              {RemoteProviderId, #subscription{} = Sub} ->
                  gen_server2:cast(Manager, {cache_provider, Sub, RemoteProviderId}),
                  {ok, SessId} = ets_state:get(session, Manager, session_id),
  
negative.code:             {RemoteProviderId, #subscription_cancellation{id = SubId}} ->
                  gen_server2:cast(Manager, {remove_provider_cache, SubId}),
                  {ok, SessId} = ets_state:get(session, Manager, session_id),
                  handle_remotely(Request, RemoteProviderId, SessId);
              {RemoteProviderId, _} ->
                  Self = oneprovider:get_id_or_undefined(),
                  case RemoteProviderId of
                      Self ->
                          handle_locally(Request, Manager);
                      _ ->
                          {ok, SessId} = ets_state:get(session, Manager, session_id),
                          handle_remotely(Request, RemoteProviderId, SessId)
                  end
          end
      catch
          exit:{noproc, _} ->
  