anchor.diff:    [{data, [{"State", State}]}].
   
   %%%_* Internal functions -------------------------------------------------------
  -handle_produce(From, Topic, Partition, KVList, State0) ->
  +handle_produce(Sender, Ref, Topic, Partition, KVList, State0) ->
     case get_leader(Topic, Partition, State0) of
       {ok, Leader, State1} ->
         DataBuffer0 = State1#state.data_buffer,
  
positive.code:     lists:keytake(L1, 1, DataBuffer3),
    DataBuffer5 = [{L1, [{T1, Topic1Buffer}, {T2, Topic2Buffer}]} |
                  DataBuffer4],
    {ok, L1, State7} = handle_produce(F3, T2, P1, [{K4, V4}], State6),
    ?assertEqual(Leaders2, State7#state.leaders),
    ?assertEqual(FromBuffer5, State7#state.from_buffer),
    ?assertEqual(DataBuffer5, State7#state.data_buffer),
    ok.
  
  
negative.code: -spec produce(pid(), binary(), integer(), [{binary(), binary()}]) ->
                   {ok, reference()}.
  produce(Pid, Topic, Partition, KVList) ->
    Sender = self(),
    Ref = erlang:make_ref(),
    gen_server:call(Pid, {produce, Sender, Ref, Topic, Partition, KVList}).
  
  -spec debug(pid(), print | string() | none) -> ok.
  %% @doc Enable debugging on producer and its connection to a broker
  