anchor.diff:  
   setup(Transport, Socket, Opts) ->
       ClientId = gen_client_id(),
  -    Connect = vmq_parser:gen_connect(ClientId, Opts),
  +    Opts1 = maybe_use_client_id_as_username(Opts, ClientId),
  +    Connect = vmq_parser:gen_connect(ClientId, Opts1),
       send(Transport, Socket, Connect, connect),
       {Proto, ProtoClosed, ProtoError} = proto(Transport),
       active_once(Transport, Socket),
  
positive.code: parse_rand_end([C|Rest], Acc) ->
      parse_rand_end(Rest, [C|Acc]).
  
  
  
  
  
  loop(Transport, Socket, Buf, Scenario) ->
      P = proto(Transport),
  
negative.code:             case vmq_parser:parse(Data) of
                  {#mqtt_connack{}, Rest} ->
                      metrics({num_instances, {inc, 1}}),
                      Scenario = proplists:get_value(scenario, Opts1, []),
                      EScenario = enrich_scenario(Scenario, ClientId),
                      SetupSteps = proplists:get_value(setup, EScenario, []),
                      run_steps(Transport, Socket, SetupSteps),
  