anchor.diff:        ((Time div S)*S) =:= FileBase ->
       <<Data:Size/binary, DataRest/binary>> = InData,
       {ok, F1} = write(F, Metric, Time, Data),
  -    do_put(MSet, Metric, R, DataRest, [{FileBase, F1} | First]);
  +    do_put(MSet, Metric, R, DataRest, [{FileBase, F1}, First]);
   
   do_put(MSet = #mset{size=S, dir=D}, Metric,
          [{Time, Size} | R], InData,
  
positive.code:     Base = [D, $/, integer_to_list(FileBase)],
      {ok, F1} = open(Base, FileBase, S),
      {ok, F2} = write(F1, Metric, Time, Data),
      do_put(MSet, Metric, R, DataRest, [{FileBase, F2} | First]);
  
  do_put(MSet = #mset{size=S, dir=D}, Metric,
         [{Time, Size} | R], InData,
         Files) ->
      %%io:format("<<Data:~p/binary, DataRest/binary>> = ~p~n", [Size, InData]),
      <<Data:Size/binary, DataRest/binary>> = InData,
      FileBase = (Time div S)*S,
      Base = [D, $/, integer_to_list(FileBase)],
  
negative.code:              Seconds2 = T2 / 1000000,
               ?debugFmt("Converted ~p metrics in ~p seconds meaning ~p metrics/second.",
                         [NumPoints, Seconds2, NumPoints/Seconds2]),
               Expected = lists:reverse(lists:seq(NumPoints*9+1, NumPoints*10)),
               ?assertEqual(length(Expected), length(L)),
               ?assertEqual(Expected, L)
       end}.
  
  add_points(S, Metrics, _Size, T, 0) ->
      S1 = lists:foldl(fun(M, SAcc) ->
                               put(SAcc, M, T, [0])
                       end, S, Metrics),
      S1;
  
  add_points(S, Metrics, Size, T, Ps) ->
      Data = lists:reverse(lists:seq((Ps-1)*Size, Ps*Size)),
      S1 = lists:foldl(fun(M, SAcc) ->
                               put(SAcc, M, T, Data)
                       end, S, Metrics),
      add_points(S1, Metrics, Size, T+Size, Ps-1).
  
  -endif.
  