@Override
    public long recalculateRevision() {
        return revision.addAndGet(1);
    }
@Test
    void testRecalculateRevisionAsync() throws InterruptedException {
        assertEquals(0, connectionBasedClient.getRevision());
        for (int i = 0; i < 10; i++) {
            Thread thread = new Thread(() -> {
                for (int j = 0; j < 10; j++) {
                    connectionBasedClient.recalculateRevision();
                }
            });
            thread.start();
        }
        TimeUnit.SECONDS.sleep(1);
        assertEquals(100, connectionBasedClient.getRevision());
    }