anchor.diff:  
   -ifdef(TEST).
   
  +-define(template_name, <<"Fake_Template">>).
  +
   create_context(PMap) ->
      Dicts = erlang_fast_dicts:init(),
      Dicts1 = erlang_fast_dicts:new_dict(global, Dicts),
  -   #context{pmap = PMap, dicts = Dicts1}.
  +   Dicts2 = erlang_fast_dicts:new_dict(?template_name, Dicts1),
  +   #context{pmap = PMap, template = #template{name = ?template_name}, dicts = Dicts2}.
   
   appendix_3_2_1_1_test() ->
      Field = #field{type = uInt32, presence = mandatory, name = <<"Flag">>, operator = #constant{value = 0}},
  
positive.code: %% copy
  %% =========================================================================================================
  
  encode([{FieldName1, Value} | _],#field{name = FieldName2, presence = mandatory, operator =
        #copy{}}, _Context) when (FieldName1 =/= FieldName2) orelse ((FieldName1 == FieldName2) andalso (Value == absent)) ->
     throw({error, {'ERR D6', FieldName2, "Mandatory field can not be absent with copy operator."}});
  
  
negative.code:    when (FieldName1 =/= FieldName2) ->
     {<<>>, MsgFields, Context#context{pmap = <<PMap/bits, 0:1>>}};
  
  encode([{FieldName1, Value} | MsgFieldsRest], #field{type = Type, name = FieldName2, presence = optional, operator = #copy{}},
        Context = #context{pmap = PMap})
     when (FieldName1 == FieldName2) andalso (Value == absent) ->
     {encode_type(Type, null, true), MsgFieldsRest, Context#context{pmap = <<PMap/bits, 1:1>>}};
  
  encode([{_, Value} | MsgFieldsRest],
     #field{type = Type, presence = Presence, operator = #copy{dictionary = D, key = Key, value = InitialValue}},
  