anchor.diff:  -spec broadcast(Message :: term(), ExcludedNodes :: [node()], #state{}) -> any().
   broadcast(Message, ExcludedNodes, #state{multicast_pid = MulticastPid} = State) ->
       MulticastPid ! {broadcast, Message, ExcludedNodes, State}.
  -
  --spec broadcast_all_cluster(Message :: term(), #state{}) -> any().
  -broadcast_all_cluster(Message, #state{multicast_pid = MulticastPid} = State) ->
  -    MulticastPid ! {broadcast_all_cluster, Message, State}.
   
   -spec send_to_node(RemoteNode :: node(), Message :: term(), #state{}) -> any().
   send_to_node(RemoteNode, Message, #state{process_name = ProcessName}) ->
  
positive.code:             end, maps:keys(NodesMap) -- ExcludedNodes),
              multicast_loop();
  
          {broadcast_all_cluster, Message, #state{process_name = ProcessName}} ->
              lists:foreach(fun(RemoteNode) ->
                  {ProcessName, RemoteNode} ! Message
              end, nodes()),
              multicast_loop();
  
          terminate ->
              terminated
      end.
  
negative.code:     call/3, call/4
  ]).
  -export([
      broadcast/2,
      broadcast/3,
      send_to_node/3
  ]).
  
  