private boolean setLockGrantorId(LockGrantorId newLockGrantorId) {
    Assert.assertHoldsLock(lockGrantorIdLock, true);
    if (equalsLockGrantorId(newLockGrantorId)) {
      return true;
    } else if (!newLockGrantorId.hasLockGrantorVersion()) {
      // proceed with temporary placeholder used by become grantor
      lockGrantorId = newLockGrantorId;
      return true;
    } else if (newLockGrantorId.isRemote() && lockGrantorId != null
        && lockGrantorId.hasLockGrantorVersion()) {
      if (logger.isTraceEnabled(LogMarker.DLS_VERBOSE)) {
        logger.trace(LogMarker.DLS_VERBOSE, "[setLockGrantorId] tried to replace {} with {}",
            lockGrantorId, newLockGrantorId);
      }
      return false;
    } else if (newLockGrantorId.isNewerThan(lockGrantorId)) {
      lockGrantorId = newLockGrantorId;
      return true;
    } else {
      return false;
    }
  }
Set {@link #lockGrantorId} to the given new value if the current value is null or is an older
grantor version. Caller must hold {@link #lockGrantorIdLock}.

@param newLockGrantorId the new value for lockGrantorId
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockService.java