void grantLock(Object name) throws InterruptedException {
    waitWhileInitializing();
    if (!acquireDestroyReadLock(0)) {
      waitUntilDestroyed();
      checkDestroyed();
    }
    try {
      checkDestroyed();
      DLockGrantToken grant = getGrantToken(name);
      if (grant != null) {
        removeGrantIfUnused(grant);
      }
    } finally {
      releaseDestroyReadLock();
    }
  }
Fetches the grant token for named lock and attempts to grant it to the next waiting requestor
if one exists. Called from DLockReleaseProcessor when another process releases a lock and after
the reply has been sent.
<p>
Acquires destroyReadLock. Synchronizes on grantTokens and the grant token.

@param name the name of the lock to grant
@throws LockGrantorDestroyedException if grantor is destroyed
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockGrantor.java