code: public void verifyLock(long curTimeInMicros) throws Exception, BusyLockException, StaleLockException {
          if (lockColumn == null) 
              throw new IllegalStateException("verifyLock() called without attempting to take the lock");
          
          // Read back all columns. There should be only 1 if we got the lock
          Map<String, Long> lockResult = readLockColumns(readDataColumns);
  
          // Cleanup and check that we really got the lock
          for (Entry<String, Long> entry : lockResult.entrySet()) {
              // This is a stale lock that was never cleaned up
              if (entry.getValue() != 0 && curTimeInMicros > entry.getValue()) {
                  if (failOnStaleLock) {
                      throw new StaleLockException("Stale lock on row '" + key + "'.  Manual cleanup requried.");
                  }
                  locksToDelete.add(entry.getKey());
              }
              // Lock already taken, and not by us
              else if (!entry.getKey().equals(lockColumn)) {
                  throw new BusyLockException("Lock already acquired for row '" + key + "' with lock column " + entry.getKey());
              }
          }
      }
docs: Verify that the lock was acquired.  This shouldn't be called unless it's part of a recipe
  built on top of ColumnPrefixDistributedRowLock.
  
  @param curTimeInMicros
  @throws BusyLockException