public void await(T obj) {
            Predicate<T> predicate;
            CyclicBarrier barrier;
            synchronized (this) {
                predicate = this.predicate;
                barrier = this.barrier;
            }
            if (predicate != null && !predicate.test(obj)) {
                return;
            }
            if (barrier != null) {
                try {
                    barrier.await();
                } catch (InterruptedException | BrokenBarrierException e) {
                    throw new RuntimeException("Interrupted while waiting for load gate", e);
                }
            }
        }
From a thread under test, await for the test orchestrator to continue execution
@param obj Object to test with the breakpoint's current predicate
connect/runtime/src/test/java/org/apache/kafka/connect/runtime/isolation/SynchronizationTest.java