class LocalProxyTransaction extends AbstractProxyTransaction {

    @Override
    void handleReplayedRemoteRequest(final TransactionRequest<?> request, final Consumer<Response<?, ?>> callback,
            final long enqueuedTicks) {
        if (request instanceof ModifyTransactionRequest) {
            replayModifyTransactionRequest((ModifyTransactionRequest) request, callback, enqueuedTicks);
        } else if (handleReadRequest(request, callback)) {
            // No-op
        } else if (request instanceof TransactionPurgeRequest) {
            enqueuePurge(callback, enqueuedTicks);
        } else if (request instanceof IncrementTransactionSequenceRequest) {
            // Local transactions do not have non-replayable requests which would be visible to the backend,
            // hence we can skip sequence increments.
            LOG.debug("Not replaying {}", request);
        } else {
            throw new IllegalArgumentException("Unhandled request " + request);
        }
    }

      LocalProxyTransaction(final ProxyHistory parent, final TransactionIdentifier identifier, final boolean isDone);

}