anchor.diff:  
   %% rename_file_interprovider/4
   %% ====================================================================
  -%% @doc @todo: write me !
  +%% @doc One of rename operation's implementation. Inter-Provider rename is the most general one.
  +%%      Each and every file is handled separately. In case of failure, operation will be aborted (exact behaviour is not specified)
  +%%      and all files that weren't transferred successfully will be available at source location while successful ones
  +%%      will be available at target location.
  +%%      Since there are not preconditions for this function call, it can be used instead any other rename_file_* implementation
  +%%      although there can be significant negative performance and data consistency impact.
  +%%
  +%%      Precondition: none.
   %% @end
   -spec rename_file_interprovider(UserDoc :: user_doc(), FileType :: file_type_protocol(), SourceFilePath :: path(), TargetFilePath :: path()) ->
       ok | no_return().
  
positive.code: 
  %% rename_file_interspace/4
  %% ====================================================================
  %% @doc @todo: write me !
  %% @end
  -spec rename_file_interspace(UserDoc :: user_doc(), SourceFilePath :: path(), TargetFilePath :: path(),
      {OldFile :: file_info(), OldFileDoc :: file_doc(), NewParentUUID :: uuid()}) ->
  
negative.code: 
  %% common_assertions/3
  %% ====================================================================
  %% @doc Common assertions for rename operation. Shall be used prior to every rename operation
  %%      that is handled as 'internal' (not inter-provider).
  %%      This function returns bunch of useful common data or fails with exception.
  %% @end
  -spec common_assertions(UserDoc :: user_doc(), SourceFilePath :: path(), TargetFilePath :: path()) ->
      {ok, OldFile :: file_doc(), OldDoc :: file_doc(), NewParentUUID :: uuid()} | no_return().
  