anchor.diff:                      true;
                   _SPC ->
                       fold_catalog_process(CatRef, FoldResultPid, true,
  -                        StreamProcessCount, FinishedStreamProcessCount, DeferredTables)
  +                                         StreamProcessCount,
  +                                         FinishedStreamProcessCount, 
  +                                         DeferredTables, Conn)
               end;
   
           {CatRef, {Partition, Index, Field, Term, JSONProps}} ->
  
positive.code:                     %    [Index, Field, Term]),
                      self() ! {CatRef, {Partition, Index, Field, Term, JSONProps}},
                      fold_catalog_process(CatRef, FoldResultPid, CatalogDone,
                                           StreamProcessCount, FinishedStreamProcessCount, true);
                  false ->
                      spawn_link(fun() ->
                          %% io:format("fold_catalog_process: catalog_query_response: ~p: ~p.~p.~p (~p)~n",
  
negative.code:                     Acc2 = Acc,
                      skip
              end,
              receive_stream_results(StreamRef, Sender, FilterFun, Conn, Acc2);
          Msg ->
              riak_search_backend:stream_response_done(Sender),
              raptor_conn:close(Conn),
              throw({unexpected_msg, Msg})
      after
          ?STREAM_TIMEOUT ->
              riak_search_backend:stream_response_done(Sender),
              raptor_conn:close(Conn),
              error_logger:warning_msg("Stream result Raptor conn timeout\n")
      end,
      ok.
  
  receive_info_range_results(StreamRef, Sender, Conn) ->
      receive_info_range_results(StreamRef, Sender, Conn, []).
  
  receive_info_range_results(StreamRef, Sender, Conn, Results) ->
      receive
          {info, StreamRef, timeout} ->
              riak_search_backend:info_response(Sender, Results),
              raptor_conn:close(Conn),
              error_logger:warning_msg("Info range result Raptor socket timeout\n");
  
          {info, StreamRef, "$end_of_info", 0} ->
              riak_search_backend:info_response(Sender, Results);
          
          %% TODO: Replace this with a [New | Acc] and lists:reverse
          {info, StreamRef, Term, Count} ->
              receive_info_range_results(StreamRef, Sender, Conn,
                  Results ++ [{Term, node(), Count}]);
          Msg ->
              riak_search_backend:info_response(Sender, [Results]),
              raptor_conn:close(Conn),
              throw({unexpected_msg, Msg})
      after
          ?INFO_RANGE_TIMEOUT ->
              riak_search_backend:info_response(Sender, Results),
              raptor_conn:close(Conn),
              error_logger:warning_msg("Info range result Raptor conn timeout\n")
      end,
      ok.
  
  receive_info_results(StreamRef, Sender, Conn) ->
      receive
          {info, StreamRef, timeout} ->
              riak_search_backend:info_response(Sender, []),
              raptor_conn:close(Conn),
              error_logger:warning_msg("Info result Raptor socket timeout\n"),
              ok;
          {info, StreamRef, "$end_of_info", _Count} ->
              ok;
          {info, StreamRef, Term, Count} ->
              riak_search_backend:info_response(Sender, [{Term, node(), Count}]),
              receive_info_results(StreamRef, Sender, Conn);
          Msg ->
              riak_search_backend:info_response(Sender, []),
              raptor_conn:close(Conn),
              throw({unexpected_msg, Msg})
      after
          ?INFO_TIMEOUT ->           
              riak_search_backend:info_response(Sender, []),
              raptor_conn:close(Conn),
              error_logger:warning_msg("Info result Raptor conn timeout\n")
      end,
      ok.
  
  receive_catalog_query_results(StreamRef, Sender, Conn) ->
      receive
          {catalog_query, _ReqId, timeout} ->
              riak_search_backend:catalog_query_done(Sender),
              raptor_conn:close(Conn),
              error_logger:warning_msg("Catalog query result Raptor socket timeout\n");
          {catalog_query, _ReqId, "$end_of_results", _, _, _, _} ->
              riak_search_backend:catalog_query_done(Sender);
          {catalog_query, StreamRef, Partition, Index,
  