protected long handleRequestTimeouts(Iterator grants) {
    long smallestTimeout = Long.MAX_VALUE;
    while (grants.hasNext()) {
      DLockGrantToken grant = (DLockGrantToken) grants.next();
      if (grant.isDestroyed()) {
        continue;
      }
      long timeout = grant.handleRequestTimeouts();
      if (timeout < smallestTimeout) {
        smallestTimeout = timeout;
      }
    }
    return smallestTimeout;
  }
Iterates over grants and handles any that have timed out.
<p>
Synchronizes on each grant token.

@param grants the grants to iterate over
@return the next smallest timeout
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockGrantor.java