anchor.diff:  handle_call(healthcheck, _From, State) ->
       {reply, out_of_sync, State};
   
  -handle_call(get_ip_address, _From, State) ->
  -    IP = application:get_env(?CLUSTER_WORKER_APP_NAME, external_ip, {127,0,0,1}),
  -    {reply, IP, State};
  -
   handle_call(disable_task_control, _From, State) ->
       {reply, ok, State#state{task_control = false}};
   
  
positive.code: -spec stop() -> ok.
  stop() ->
      gen_server2:cast(?NODE_MANAGER_NAME, stop).
  
  
  %%--------------------------------------------------------------------
  %% @doc
  %% Returns node's IP address.
  %% @end
  %%--------------------------------------------------------------------
  -spec get_ip_address() -> inet:ip4_address().
  get_ip_address() ->
      gen_server2:call(?NODE_MANAGER_NAME, get_ip_address).
  
  
  %%--------------------------------------------------------------------
  
negative.code: %% Get up to date information about IPs in the cluster.
  %% @end
  %%--------------------------------------------------------------------
  -spec get_cluster_ips() -> [inet:ip4_address()] | no_return().
  get_cluster_ips() ->
      {ok, Nodes} = get_cluster_nodes(),
  
      lists:map(fun(Node) ->
          {_, _, _, _} = rpc:call(Node, ?MODULE, get_ip_address, [])
      end, Nodes).
  