anchor.diff:  %%--------------------------------------------------------------------
   -spec(terminate(Reason :: (normal | shutdown | {shutdown, term()} | term()),
                   State :: #state{}) -> term()).
  -terminate(_Reason, _State) ->
  +terminate(_Reason, #state{cache = Cache}) ->
  +    ets:delete(Cache),
       ok.
   
   %%--------------------------------------------------------------------
  
positive.code: %%%===================================================================
  %%% Internal functions
  %%%===================================================================
  do_reverse(State = #state{type = Type}, Latitude, Longitude, Language) ->
      case do_reverse_provider(Type, Latitude, Longitude, Language) of
          {ok, Address} ->
              {reply, {ok, do_address_format(Address)}, State};
          Reason ->
              {reply, Reason, State}
      end.
  
  do_reverse_provider(google, Latitude, Longitude, Language) ->
      em_geocoder_google:reverse(Latitude, Longitude, Language);
  
negative.code: -define(SERVER, ?MODULE).
  
  -record(state, {
            type :: atom(),
            cache
           }).
  
  %%%===================================================================
  