anchor.diff:                              _Error ->
                                   void
                           end
  -                end
  -        end
  -    catch
  -        _:Reason ->
  -            ?error("handle_call - DOWN", "reason:~p", [Reason])
  -    end,
  +                end,
  +                delete_by_pid(Htbl, Pid)
  +        end,
   
       erlang:demonitor(MonitorRef),
       {noreply, {_MonitorRefs = lists:delete(MonitorRef, MonitorRefs),
  -               Hashtable,
  +               NewHtbl,
                  _Pids = lists:delete(Pid, Pids)}};
   
   handle_info(_Info, State) ->
  
positive.code:     {stop, normal, ok, State};
  
  
  handle_call({register, _RequestedTimes, Pid, Node, TypeOfNode}, _From, {Refs, Htbl, Pids} = Arg) ->
      %% ?info("handle_call - register", "requested-times:~w, node:~w", [RequestedTimes, Node]),
  
      case is_exists_proc(Htbl, Node) of
          true ->
              {reply, ok, Arg};
          false ->
              MonitorRef = erlang:monitor(process, Pid),
              leo_hashtable:put(Htbl, Pid, {atom_to_list(Node), Node, TypeOfNode, MonitorRef}),
  
              case TypeOfNode of
                  gateway ->
  
negative.code: %%                                       {noreply, State, Timeout} |
  %%                                       {stop, Reason, State}
  %% Description: Handling all non call/cast messages
  handle_info({'DOWN', MonitorRef, _Type, Pid, _Info}, {MonitorRefs, Htbl, Pids}) ->
      timer:sleep(random:uniform(500)),
  
      NewHtbl =
          case find_by_pid(Htbl, Pid) of
              undefined ->
                  Htbl;
              {_, Node, TypeOfNode, _} ->
                  ?error("handle_call - DOWN", "node:~w", [Node]),
                  case TypeOfNode of
                      gateway ->
                          leo_manager_mnesia:update_gateway_node(
  