private void Handle(ClusterActorDiscoveryMessage.ClusterActorDown m)
        {
            _log.Debug($"ClusterActorDown: Actor={m.Actor.Path}");

            NodeItem node;

            if (_nodeMap.TryGetValue(Sender, out node) == false)
            {
                _log.Error($"Cannot find node: Discovery={Sender.Path}");
                return;
            }

            // remove actor from node.ActorItems

            var index = node.ActorItems.FindIndex(a => a.Actor.Equals(m.Actor));

            if (index == -1)
            {
                _log.Error($"Cannot find actor: Discovery={Sender.Path} Actor={m.Actor.Path}");
                return;
            }

            var tag = node.ActorItems[index].Tag;

            node.ActorItems.RemoveAt(index);

            NotifyActorDownToMonitor(m.Actor, tag);
        }