anchor.diff:          {ViewKVs, DocIdViewIdKeys} = view_insert_query_results(Docs,
                       Results, ViewEmptyKVs, DelKVs),
           couch_work_queue:queue(WriteQueue, {LastSeq, ViewKVs, DocIdViewIdKeys}),
  -        do_maps(Group1, MapQueue, WriteQueue, ViewEmptyKVs)
  +        ?MODULE:do_maps(Group1, MapQueue, WriteQueue, ViewEmptyKVs)
       end.
   
   -spec do_writes(pid(), pid() | nil, #group{}, pid(), boolean()) -> any().
  
positive.code:     {ok, WriteQueue} = couch_work_queue:new(100000, 500),
      Self = self(),
      ViewEmptyKVs = [{View, []} || View <- Group2#group.views],
      spawn_link(fun() -> do_maps(Group, MapQueue, WriteQueue, ViewEmptyKVs) end),
      spawn_link(fun() -> do_writes(Self, Owner, Group2, WriteQueue, Seq == 0) end),
      % compute on all docs modified since we last computed.
      TotalChanges = couch_db:count_changes_since(Db, Seq),
      % update status every half second
  
negative.code:         nil -> ok;
          _ -> ok = gen_server:cast(Owner, {partial_update, Parent, Group2})
          end,
          ?MODULE:do_writes(Parent, Owner, Group2, WriteQueue, InitialBuild)
      end.
  
  -spec view_insert_query_results([#doc{}], list(), any(), any()) -> any().
  