docs: public void release(Object lockOwner) {
        Objects.requireNonNull(lockOwner, "Lock Owner should be non-null");
  
        if (trace) {
           log.tracef("Release lock for %s.", lockOwner);
        }
  
        LockPlaceHolder wantToRelease = lockOwners.get(lockOwner);
        if (wantToRelease == null) {
           if (trace) {
              log.tracef("%s not found!", lockOwner);
           }
           //nothing to release
           return;
        }
  
        final boolean released = wantToRelease.setReleased();
        if (trace) {
           log.tracef("Release lock for %s? %s", wantToRelease, released);
        }
  
        LockPlaceHolder currentLocked = current;
        if (currentLocked == wantToRelease) {
           tryAcquire(wantToRelease);
        }
     }