@Override
        public synchronized Void get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
            long started = System.currentTimeMillis();
            long limit = started + unit.toMillis(timeout);
            while (!completed) {
                long leftMs = limit - System.currentTimeMillis();
                if (leftMs < 0)
                    throw new TimeoutException("KafkaOffsetBackingStore Future timed out.");
                this.wait(leftMs);
            }
            if (exception != null)
                throw new ExecutionException(exception);
            return null;
        }
Stop reading from and writing to the offsets topic, and relinquish resources allocated for interacting
with it, including Kafka clients.
<p>
The admin client derived from the given {@link Supplier} will not be closed and it is the
caller's responsibility to manage its lifecycle accordingly.
connect/runtime/src/main/java/org/apache/kafka/connect/storage/KafkaOffsetBackingStore.java