anchor.diff:  %%                                   {stop, Reason, State}
   %% @end
   %%--------------------------------------------------------------------
  -handle_call({connect, Node}, _From, #state{nodes=Ns} = State) ->
  +handle_call({connect, Node}, _From, State) ->
       lager:info("trying to connect to node ~p", [Node]),
   
  -    Result = net_kernel:connect_node(Node),
  -    State0 = case Result of
  -                 true ->
  -                     lager:info("successfully connected to node ~p", [Node]),
  -                     Info = #node_info{node=Node, last_seen=statser_util:seconds()},
  -                     Ns0 = maps:put(Node, Info, Ns),
  -                     State#state{nodes=Ns0};
  -                 false ->
  -                     lager:warning("connecting to node ~p failed", [Node]),
  -                     State;
  -                 ignored ->
  -                     lager:warning("connecting to node ~p failed - local node not alive", [Node]),
  -                     State
  -             end,
  -    {reply, Result, State0};
  +    {Reply, State0} = try_connect(Node, State),
  +    {reply, Reply, State0};
   
   handle_call(get_nodes, _From, State) ->
       Nodes = maps:values(State#state.nodes),
  
positive.code: %%%===================================================================
  %%% Internal functions
  %%%===================================================================
  
negative.code: %%                                   {stop, Reason, State}
  %% @end
  %%--------------------------------------------------------------------
  handle_info(Info, State) ->
      lager:warning("discoverer: unhandled message ~p", [Info]),
      {noreply, State}.
  
  %%--------------------------------------------------------------------
  