anchor.diff:  %% ===================================================================
   
   handle_info(Message, State) when is_record(Message, message) ->
  -    ok = send_msg_2_multiple_device(State#state.device_list, Message),
  -    NewMsgCache = [Message|State#state.msg_cache],
  -    NewState = State#state{msg_cache = NewMsgCache},
  +    {ok, NewState} = send_msg_2_multiple_device(State#state.device_list,
  +                                                Message,
  +                                                State,
  +                                                save),
       {noreply, NewState, NewState#state.heartbeat_timeout};
   
   
  
positive.code: 
  handle_info({replace_socket, Message, #device{socket = Socket} = Device},
              #state{device_list = DeviceList} = State) ->
      NewState = case lists:keytake(Device#device.name,
                                    #device.name, DeviceList) of
          {value, #device{socket = OldSocket} = OldDevice, OtherDeivces} ->
  
negative.code:     ok = delete_useless_token(State#state.device_list),
      NewPid ! {msg_cache, State#state.msg_cache},
      {stop, {replaced_by, NewPid}, State};
  handle_info({msg_cache, OriginalMsgCache}, State) ->
      case OriginalMsgCache of
          [] ->
              NewState = State;
          _ ->
  
              {ok, NewState} = merge_msg_cache(State, OriginalMsgCache)
      end,
      {noreply, NewState, NewState#state.heartbeat_timeout};
  handle_info(timeout, State) ->
  