/// <summary> /// TBD /// </summary> /// <param name="subject">TBD</param> /// <returns>TBD</returns> public IActorRef Unwatch(IActorRef subject) { var a = (IInternalActorRef)subject; if (!a.Equals(Self) && WatchingContains(a)) { a.SendSystemMessage(new Unwatch(a, _self)); MaintainAddressTerminatedSubscription(() => { _state = _state.RemoveWatching(a); }, a); } (_state, _) = _state.RemoveTerminated(a); return(a); }