@Override
      public boolean operate() {
        if (holdsLock() && reentryPolicy.preventReentry(DistributedMemberLock.this)) {
          return true;
        }
        boolean locked = dls.lock(key, -1, leaseTimeout);
        Assert.assertTrue(locked, "Failed to lock " + this);
        return locked;
      }
Constructs a new <code>DistributedMemberLock</code>.

@param dls the instance of <code>DistributedLockService</code> to use
@param key name of the key for this lock
@param leaseTimeout number of milliseconds to hold a lock before automatically releasing it
@param reentryPolicy defines behavior for lock reentry
@throws NullPointerException if dls or key is null
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DistributedMemberLock.java