anchor.diff:      {ok, RemoteLocationDocs} = fslogic_objects:get_remote_location(FullFileName),
       ProviderId = cluster_manager_lib:get_provider_id(),
       MyRemoteLocationDoc = lists:filter(fun(#db_document{record = #remote_location{provider_id = Id}}) -> Id == ProviderId end, RemoteLocationDocs),
  -    NewDoc = fslogic_remote_location:mark_as_modified(#offset_range{offset = Offset, size = Size}, MyRemoteLocationDoc, ProviderId),
  +    NewDoc = fslogic_remote_location:mark_as_modified(#offset_range{offset = Offset, size = Size}, MyRemoteLocationDoc),
       case MyRemoteLocationDoc == NewDoc of
           true -> ok;
           false -> {ok, _} = dao_lib:apply(dao_vfs, save_remote_location, [NewDoc], fslogic_context:get_protocol_version())
  
positive.code:             %TODO let rtransfer fetch this data in order to synchronize file
          end, OutOfSyncList),
      SyncedParts = OutOfSyncList, % assume that all parts has been synchronized
      NewDoc = fslogic_remote_location:mark_as_available(SyncedParts, MyRemoteLocationDoc, ProviderId),
      case MyRemoteLocationDoc == NewDoc of
          true -> ok;
          false -> {ok, _} = dao_lib:apply(dao_vfs, save_remote_location, [NewDoc], fslogic_context:get_protocol_version())
  
negative.code:     {ok, RemoteLocationDocs} = fslogic_objects:get_remote_location(FullFileName),
      ProviderId = cluster_manager_lib:get_provider_id(),
      MyRemoteLocationDoc = lists:filter(fun(#db_document{record = #remote_location{provider_id = Id}}) -> Id == ProviderId end, RemoteLocationDocs),
      NewDoc = fslogic_remote_location:truncate({bytes, Size}, MyRemoteLocationDoc),
      case MyRemoteLocationDoc == NewDoc of
          true -> ok;
          false -> {ok, _} = dao_lib:apply(dao_vfs, save_remote_location, [NewDoc], fslogic_context:get_protocol_version())
  