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); }