// then we obviously don't hold a lock, so just join the wait queue.
boolean spaceHasALock = false;
boolean noGrantAtAll = false;
if (!grantLock && !isUnlocked()) {
boolean selfCompatible = lref.lockerAlwaysCompatible();
int index = 0;
int endIndex = firstGrant == null ? granted.size() : 0;
do {