public Task RemovePidAsync(ClusterIdentity clusterIdentity, PID pid, CancellationToken ct)
        {
            var activationTerminated = new ActivationTerminated
            {
                Pid             = pid,
                ClusterIdentity = clusterIdentity,
            };

            _cluster.MemberList.BroadcastEvent(activationTerminated);

            return(Task.CompletedTask);
        }
        private void Invalidate(ClusterIdentity identity, PID activation, BitArray activeRemotes)
        {
            var message = new ActivationTerminated
            {
                ClusterIdentity = identity,
                Pid             = activation
            };
            var remotesToInvalidate = Cluster.MemberList.GetAllMembers()
                                      .Select(m => Cluster.MemberList.GetMetaMember(m.Id))
                                      .Where(m => activeRemotes.Length > m.Index && activeRemotes[m.Index])
                                      .Select(m => m.Member.Address);

            foreach (var address in remotesToInvalidate)
            {
                Cluster.System.Root.Send(PID.FromAddress(address, ActorName), message);
            }
        }