- void persistPayload(final TransactionIdentifier transactionId, final Payload payload, boolean batchHint) {
- // We are faking the sender
- persistData(self(), transactionId, payload, batchHint);
+ void persistPayload(final Identifier id, final Payload payload, final boolean batchHint) {
+ boolean canSkipPayload = !hasFollowers() && !persistence().isRecoveryApplicable();
+ if (canSkipPayload) {
+ applyState(self(), id, payload);
+ } else {
+ // We are faking the sender
+ persistData(self(), id, payload, batchHint);
+ }