code: @Override
      public synchronized Lock obtainWriteLock() {
          Set<File> readLocks = getReadLocks();
          if (readLocks.isEmpty()) {
              final File writeLock = getWriteLock();
              if (writeLock == null) {
                  return createLock(true);
              }
          }
  
          return null;
      }
docs: {@inheritDoc}
  <p>
  This will create a {@link File write lock file} at
  {@link LockAdviser#lockPath} that represents the write lock.
  </p>
  <p>
  A {@link Lock write lock} cannot be obtained if a {@link Lock read lock}
  is held.
  </p>