public GrantorInfo peekGrantor(String serviceName) {
    synchronized (this) {
      GrantorInfo gi = nameToInfo.get(serviceName);
      if (gi != null) {
        waitWhileInitiatingTransfer(gi);
        InternalDistributedMember currentGrantor = gi.getId();
        // Note that elder recovery may put GrantorInfo instances in
        // the map whose id is null and whose needRecovery is true
        if (currentGrantor != null
            && dm.getDistributionManagerIds().contains(currentGrantor)) {
          return gi;
        } else {
          return new GrantorInfo(null, 0, 0, true);
        }
      } else {
        return new GrantorInfo(null, 0, 0, false);
      }
    }
  }
Atomically determine who is the current grantor of the given service.

@param serviceName the name of the lock service we want the grantor of
@return the current grantor of <code>serviceName</code> and recoveryNeeded will be true if
        requestor has become the grantor and needs to recover lock info.
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/ElderState.java