private void doWait() {
      synchronized (this) {
        while (!notified) {
          getCancelCriterion().checkCancelInProgress(null);
          boolean interrupted = Thread.interrupted();
          try {
            wait(1000);
          } catch (InterruptedException ignore) {
            interrupted = true;
          } finally {
            if (interrupted) {
              Thread.currentThread().interrupt();
            }
          }
        }
      }
    }
Support for waiters of register interest. Only one thread at most ever calls wait.

@since GemFire 5.7
geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java