anchor.diff:        %lager:debug("get_delegations, failed to get zone for ~p: ~p", [Name, Response]),
         {reply, Response, State}
     end;
  -
  -handle_call({get_authority, Name}, _From, State) ->
  -  find_authority(normalize_name(Name), State);
   
   handle_call({get_records_by_name, Name}, _From, State) ->
     case find_zone_in_cache(Name, State) of
  
positive.code:     [] -> {error, zone_not_found};
      [_] -> {error, zone_not_found};
      [_|Labels] ->
        case get_zone(Name) of
          {ok, Zone} -> Zone;
          {error, zone_not_found} ->
            case Name =:= Authority#dns_rr.name of
  
negative.code:   gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
  
  find_zone(Qname) ->
    find_zone(normalize_name(Qname), get_authority(Qname)). %% Results in a message in the erldns_zone_cache process mailbox
  
  find_zone(Qname, {error, _}) -> find_zone(Qname, []);
  find_zone(Qname, {ok, Authority}) -> find_zone(Qname, Authority);
  