AbstractClientHistory extends LocalAbortable implements Identifiable<LocalHistoryIdentifier> { @GuardedBy("lock") private ProxyHistory createHistoryProxy(final Long shard) { final AbstractClientConnection<ShardBackendInfo> connection = client.getConnection(shard); final LocalHistoryIdentifier proxyId = new LocalHistoryIdentifier(identifier.getClientId(), identifier.getHistoryId(), shard); LOG.debug("Created proxyId {} for history {} shard {}", proxyId, identifier, shard); final ProxyHistory ret = createHistoryProxy(proxyId, connection); if (ret.getIdentifier().getHistoryId() != 0) { connection.sendRequest(new CreateLocalHistoryRequest(ret.getIdentifier(), connection.localActor()), this::createHistoryCallback); } return ret; } AbstractClientHistory(final AbstractDataStoreClientBehavior client, final LocalHistoryIdentifier identifier); @Override LocalHistoryIdentifier getIdentifier(); ClientTransaction createTransaction(); ClientSnapshot takeSnapshot();  }
@Test public abstract void testCreateHistoryProxy();