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); @Override LocalHistoryIdentifier getIdentifier(); ClientTransaction createTransaction(); ClientSnapshot takeSnapshot();  }
@Test public void testLocalAbort() { object().localAbort(new Throwable()); Assert.assertEquals(AbstractClientHistory.State.CLOSED, object().state()); }