anchor.diff:                    cache_sorted(11, 110, [{120, 10}, {110, 10}]))
       ].
   
  +
  +merge_with_cache_test_() ->
  +    Cache = cache_sorted(16, 160, [{120, 12}, {110, 11}, {100, 10}]),
  +    Test = fun(Values) ->
  +                   Series = #series{values=Values},
  +                   merge_with_cache(Series, Cache)
  +           end,
  +    [?_assertEqual(#series{values=[{100, 10}, {110, 11}, {120, 12}]},
  +                   Test([{100, 10}, {110, null}, {120, null}])),
  +
  +     ?_assertEqual(#series{values=[{100, 10}, {110, 11}, {120, 12}, {130, 13}]},
  +                   Test([{100, 10}, {110, null}, {120, 12}, {130, 13}])),
  +
  +     ?_assertEqual(#series{values=[{100, 10}, {110, 11}, {120, 12}, {130, null}]},
  +                   Test([{100, 10}, {110, null}, {120, 12}, {130, null}])),
  +
  +     ?_assertEqual(#series{values=[{100, 10}, {110, 11}, {120, 12}, {130, null}, {160, 16}]},
  +                   Test([{100, 10}, {110, null}, {120, 12}, {130, null}, {160, null}]))
  +    ].
  +
  +
   -endif. % TEST
  
positive.code:     {RetValues, Agg, XFF}.
  
  
  cache_point(Value, TS, State) ->
      Cache = cache_sorted(Value, TS, State#state.cache),
      State#state{cache=Cache}.
  
negative.code:     File = State#state.fspath,
      case statser_whisper:fetch(File, From, Until, Now) of
          #series{} = Result ->
              Cache = State#state.cache,
              Merged = merge_with_cache(Result, Cache),
              {reply, Merged, State};
          Error ->
              {reply, Error, State}
  