anchor.diff:                      comm:send_local(pid_groups:get_my(dht_node), Msg)
               end
       end,
  +    RestRange = intervals:minus(MyRange0, MyRange),
  +    % no need to check whether non-empty - this is a no-op anyway
  +    bulk_owner(State, Id, RestRange, Msg, Parents),
       State;
   
   on({bulkowner, reply, Id, Target, Msg, Parents}, State) ->
  
positive.code: send_reply(Id, Target, Msg, [Parent | Rest], Shepherd) ->
      comm:send(Parent, {bulkowner, reply, Id, Target, Msg, Rest}, [{shepherd, Shepherd}]).
  
  -spec send_reply_failed(Id::uid:global_uid(), Target::comm:mypid(), Msg::comm:message(), Parents::[comm:mypid()], Shepherd::comm:erl_local_pid(), FailedPid::comm:mypid()) -> ok.
  send_reply_failed(_Id, Target, Msg, [], _Shepherd, Target) ->
      log:log(warn, "[ ~p ] cannot send bulkowner_reply with message ~p (target node not available)",
              [pid_groups:pid_to_name(self()), Msg]);
  
negative.code:     DHTNode = pid_groups:find_a(dht_node),
      comm:send_local(DHTNode, {bulkowner, start, Id, I, Msg}).
  
  -spec issue_send_reply(Id::uid:global_uid(), Target::comm:mypid(), Msg::comm:message(),
                         Parents::[comm:mypid()]) -> ok.
  issue_send_reply(Id, Target, Msg, Parents) ->
      DHTNode = pid_groups:find_a(dht_node),
      comm:send_local(DHTNode, {bulkowner, reply, Id, Target, Msg, Parents}).
  