anchor.diff:          {Key, NewUsername} ->
               case find_suitable_relay(Key, Routes) of
                   {Key, {_IP, _Port, _Secret} = Route} -> {NewUsername, Route};
  -                {Key, {IP, Port}} -> {NewUsername, {IP, Port, DefaultSecret}};
                   _ -> {NewUsername, DefaultRoute}
               end
       end.
  
positive.code: 
  -type route() :: eradius_client:nas_address().
  -type routes() :: [{Name :: string(), route()}].
  
  radius_request(Request, _NasProp, Args) ->
      DefaultRoute = proplists:get_value(default_route, Args),
  
negative.code:     end.
  
  % @private
  -spec send_to_server(Request :: #radius_request{}, Route :: undefined_route() | route()) ->
      {reply, Reply :: #radius_request{}} | term().
  send_to_server(_Request, {undefined, 0, []}) ->
      {error, no_route};
  send_to_server(#radius_request{reqid = ReqID} = Request, {Server, Port, Secret}) ->
      case eradius_client:send_request({Server, Port, Secret}, Request, [{retries, 1}]) of
          {ok, Result, Auth} -> decode_request(Result, ReqID, Secret, Auth);
  