class AbstractClientHistory extends LocalAbortable implements Identifiable<LocalHistoryIdentifier> {

    @Override
    final void localAbort(final Throwable cause) {
        final State oldState = STATE_UPDATER.getAndSet(this, State.CLOSED);
        if (oldState != State.CLOSED) {
            LOG.debug("Force-closing history {}", getIdentifier(), cause);

            synchronized (this) {
                for (AbstractClientHandle<?> t : openTransactions.values()) {
                    t.localAbort(cause);
                }
                openTransactions.clear();
                readyTransactions.clear();
            }
        }
    }

      AbstractClientHistory(final AbstractDataStoreClientBehavior client, final LocalHistoryIdentifier identifier);

}