class AbstractClientHistory extends LocalAbortable implements Identifiable<LocalHistoryIdentifier> {

    final synchronized void doClose() {
        final State local = state;
        if (local != State.CLOSED) {
            checkState(local == State.IDLE, "Local history %s has an open transaction", this);
            histories.values().forEach(ProxyHistory::close);
            updateState(local, State.CLOSED);
        }
    }

      AbstractClientHistory(final AbstractDataStoreClientBehavior client, final LocalHistoryIdentifier identifier);

}