code: @Override
      public synchronized void releaseWriteLock(final Lock lock) {
          if (lock == null || lock.name == null || lock.name.isEmpty()) {
              throw new InvalidArgument("lock is invalid");
          }
  
          locks.remove(lock.name);
  
          final File writeLock = getWriteLock();
          if (!writeLock.delete()) {
              throw new IllegalStateException(
                      "write lock could not be deleted");
          }
      }
docs: {@inheritDoc}
  <p>
  This will remove the {@link File read lock file} in
  {@link LockAdviser#readLocks} that represents the read lock.
  </p>