@Override
  public void run() {
    hit.countDown();
    try {
      run.await();
      if (delayedAction != null) {
        delayedAction.run();
      }
    } catch (InterruptedException e) {
      Thread.currentThread().interrupt();
    }
  }
Coordinates thread scheduling to simplify multi-threaded testing. Ensures that two threads have
both reached expected code before proceeding. Unlike a barrier pattern, the threads can be
allowed to proceed independently.
geode-core/src/main/java/org/apache/geode/internal/util/DelayedAction.java