anchor.diff:  populate_token_channel_data([Token|Tail]) when is_record(Token, token) ->
       case logplex_channel:lookup(Token#token.channel_id) of
           undefined ->
  -            ?ERR("~p ~p ~p~n",
  +            ?ERR("~p ~p ~p",
                    [populate_token_channel_data, undefined_channel, Token]);
           #channel{app_id=AppId} ->
               ets:insert(tokens, Token#token{app_id=AppId})
  
positive.code: remove_token_drain_data(DrainId) ->
      case logplex_drain:lookup(DrainId) of
          undefined ->
              ?ERR("~p ~p ~p~n",
                   [remove_token_drain_data, undefined_drain, DrainId]);
          Drain ->
              T = logplex_utils:empty_token(),
              case ets:match_object(tokens, T#token{channel_id=Drain#drain.channel_id}) of
                  [] ->
                      ?ERR("~p ~p ~p~n",
                           [remove_token_drain_data, undefined_tokens, Drain]);
                  Tokens ->
                      ets:insert(tokens, [begin
  
negative.code: create_drain(Id, Dict) ->
      case dict_find(<<"ch">>, Dict) of
          undefined ->
              ?ERR("~p ~p ~p ~p",
                   [create_drain, missing_ch, Id, dict:to_list(Dict)]);
          Val1 ->
              Ch = list_to_integer(binary_to_list(Val1)),
              case dict_find(<<"token">>, Dict) of
                  undefined ->
                      ?ERR("~p ~p ~p ~p",
                           [create_drain, missing_token, Id, dict:to_list(Dict)]);
                  Token ->
                      Host = dict_find(<<"host">>, Dict),
  