private void doSleep() {
      if (sleepTime <= 0) {
        return;
      }
      beforeSleepChecks();
      sleepTime = Math.min(sleepTime, MAX_SLEEP_TIME);
      if (logger.isTraceEnabled(LogMarker.TOMBSTONE_VERBOSE)) {
        logger.trace(LogMarker.TOMBSTONE_VERBOSE, "sleeping for {}", sleepTime);
      }
      synchronized (this) {
        if (isStopped) {
          return;
        }
        try {
          wait(sleepTime);
        } catch (InterruptedException ignore) {
        }
      }
    }
For all tombstone this sweeper knows about call the predicate. If the predicate returns true
then remove the tombstone from any storage and update the memory estimate.

@return true if predicate ever returned true
geode-core/src/main/java/org/apache/geode/internal/cache/TombstoneService.java