anchor.diff:  
   -record(state, {
             nodes :: dict(),
  +          nodes_wanted :: [node()],
             tasks_hash_nodes :: undefined | dict(),
             tasks_hash :: undefined | integer(),
             tasks_version :: undefined | string()
  
positive.code:                   dict:erase(Node, Acc)
            end, Statuses, ToRemove),
  
      {noreply, State#state{nodes=NewStatuses}};
  handle_info(Info, State) ->
      ?doctor_warning("Unexpected message ~p in state", [Info]),
      {noreply, State}.
  
negative.code:                        {commitVBucketURI, CommitURI},
                         {recoveryStatusURI, RecoveryStatusURI}]}]
      end.
  
  process_heartbeat(Node, Status, State) ->
      Nodes = update_status(Node, Status, State#state.nodes),
      NewState0 = State#state{nodes=Nodes},
      NewState = maybe_refresh_tasks_version(NewState0),
      case NewState0#state.tasks_hash =/= NewState#state.tasks_hash of
          true ->
              gen_event:notify(buckets_events, {significant_buckets_change, Node});
          _ ->
              ok
      end,
      NewState.
  