protected synchronized long expireAndGrantLock() {
      // isGranted calls checkForExpiration...
      if (grantor.isDestroyed()) {
        return Long.MAX_VALUE;
      }
      if (!isGranted(true) && !grantor.isLockingSuspendedWithSync()) {
        grantLockToNextRequest();
      }
      long result = getLeaseExpireTime();
      if (result <= 0) {
        result = Long.MAX_VALUE;
      }
      return result;
    }
Checks current lock for expiration and attempts to grant the lock if it is available.
<p>
Synchronizes on this grant token.
<p>
NOTE: expiration is only as accurate as clock synchronization on the hardware that the
members are running on probably should have Requestors handle expirations and send Release
msg - need an Evictor thread in each Requestor

@return the lease expiration time in millis for the currently held lock or Long.MAX_VALUE if
        lock has no owner
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockGrantor.java