anchor.diff:                 ]
                 }]).
   
  +encode_zone_records_to_json(_ZoneName, RecordName, Encoders) ->
  +  Records = erldns_zone_cache:get_typed_records_by_name(RecordName),
  +  jsx:encode(lists:filter(record_filter(), lists:map(encode(Encoders), Records))).
  +
  +encode_zone_records_to_json(_ZoneName, RecordName, RecordType, Encoders) ->
  +  Records = erldns_zone_cache:get_records_by_name_and_type(RecordName, erldns_records:name_type(RecordType)),
  +  jsx:encode(lists:filter(record_filter(), lists:map(encode(Encoders), Records))).
  +
   record_filter() ->
     fun(R) ->
         case R of
  
positive.code:   {ok, #state{encoders = []}}.
  
  handle_call({encode_zone, Zone}, _From, State) ->
    {reply, zone_to_json(Zone, State#state.encoders), State};
  
  handle_call({register_encoders, Modules}, _From, State) ->
    {reply, ok, State#state{encoders = State#state.encoders ++ Modules}};
  
negative.code: 
  % Internal API
  
  encode_zone_to_json(Zone, Encoders) ->
    Records = records_to_json(Zone, Encoders),
    FilteredRecords = lists:filter(record_filter(), Records),
    jsx:encode([{<<"erldns">>,
  