private void Fail(IllegalStateException cause) { _buffer.Clear(); PersistentActor.Tell(new ReplayMessagesFailure(cause), ActorRefs.NoSender); Context.Become(message => { if (message is ReplayedMessage) { // discard } else if (message is RecoverySuccess || message is ReplayMessagesFailure) Context.Stop(Self); else return false; return true; }); }