protected virtual void AutoReceiveMessage(Envelope envelope)
{
var message = envelope.Message;
var actor = _actor;
var actorType = actor != null ? actor.GetType() : null;
if (System.Settings.DebugAutoReceive)
Publish(new Debug(Self.Path.ToString(), actorType, "received AutoReceiveMessage " + message));
var m = envelope.Message;
if (m is Terminated) ReceivedTerminated(m as Terminated);
else if (m is AddressTerminated) AddressTerminated((m as AddressTerminated).Address);
else if (m is Kill) Kill();
else if (m is PoisonPill) HandlePoisonPill();
else if (m is ActorSelectionMessage) ReceiveSelection(m as ActorSelectionMessage);
else if (m is Identify) HandleIdentity(m as Identify);
}