anchor.diff:  
   handle_info({finder_result, {Ms, Count}}, State) ->
       Timer = erlang:send_after(?FINDER_UPDATE_INTERVAL, self(), update_metrics),
  -
  -    % TODO: right now this update will reset all previously registered handlers
  -    {noreply, State#state{metrics=Ms, count=Count, timer=Timer, status=none}};
  +    Merged = merge_metric_dir(State#state.metrics, Ms),
  +
  +    {noreply, State#state{metrics=Merged, count=Count, timer=Timer, status=none}};
   
   handle_info(Info, State) ->
       lager:warning("finder_server: received unexpected message: ~p", [Info]),
  
positive.code:     #metric_dir{name=Path,
                  metrics=orddict:new(),
                  dirs=orddict:from_list(Insert)}.
  
  
  find_metrics(Paths, Dir) ->
  
negative.code:      ?_assertEqual(Exp4, update_or_insert_metric([<<"foo">>], Metric, Exp3))
      ].
  
  merge_metric_dir_test_() ->
      EmptyDir = #metric_dir{name=[], metrics=orddict:new(), dirs=orddict:new()},
      Metric = #metric_file{name= <<"test">>},
      Exp1 = #metric_dir{name= <<"bar">>, dirs=[], metrics=orddict:from_list([{<<"test">>, Metric}])},
      Exp2 = #metric_dir{name= <<"foo">>, dirs=orddict:from_list([{<<"bar">>, Exp1}]), metrics=[]},
      Exp3 = EmptyDir#metric_dir{dirs=orddict:from_list([{<<"foo">>, Exp2}])},
  
      [?_assertEqual(Exp3, merge_metric_dir(Exp3, Exp3))
      ].
  
  -endif.
  