@Override
public boolean shouldWait() {
LockStoreImpl lockStore = getLockStore();
ConditionKey signalKey = lockStore.getSignalKey(key);
if (signalKey == null) {
return true;
}
boolean canAcquireLock = lockStore.canAcquireLock(key, getCallerUuid(), threadId);
if (!canAcquireLock) {
return true;
}
return !conditionId.equals(signalKey.getConditionId());
}