protected virtual void Unhandled(object message)
{
var terminatedMessage = message as Terminated;
if(terminatedMessage != null)
{
throw new DeathPactException(terminatedMessage.ActorRef);
}
Context.System.EventStream.Publish(new UnhandledMessage(message, Sender, Self));
}