anchor.diff:      end,
       ets:insert(CacheName, {{FileId, file_size}, NewSize}).
   
  -update_docs_cache(CacheName, FileId, Docs) ->
  +update_docs_cache(CacheName, FileId, Docs) when is_list(Docs) ->
       ets:insert(CacheName, {{FileId, all_docs}, Docs}).
   
   clear_size_cache(CacheName, FileId) ->
       case ets:lookup(CacheName, {FileId, file_size}) of
  -        [{_, OldSize}] ->
  +        [{_, OldSize = {_,_}}] ->
               ets:insert(CacheName, {{FileId, old_file_size}, OldSize}),
               ets:delete_object(CacheName, {FileId, file_size}),
               OldSize;
  -        _ ->
  +        [] ->
               ets:delete_object(CacheName, {FileId, old_file_size}),
               ets:delete_object(CacheName, {FileId, file_size}),
               undefined
  
positive.code: 
  clear_docs_cache(CacheName, FileId) ->
      case ets:lookup(CacheName, {FileId, all_docs}) of
          [{_, OldDocs}] ->
              ets:delete_object(CacheName, {FileId, all_docs}),
              OldDocs;
          _ ->
              ets:delete_object(CacheName, {FileId, all_docs}),
              undefined
      end.
  
negative.code: 
  get_size_from_cache(CacheName, FileId) ->
      case ets:lookup(CacheName, {FileId, file_size}) of
          [{_, Size = {_,_}}] -> Size;
          [] -> undefined
      end.
  
  get_docs_from_cache(CacheName, FileId) ->
      case ets:lookup(CacheName, {FileId, all_docs}) of
          [{_, Docs}] when is_list(Docs) -> Docs;
          [] -> undefined
      end.
  
  