docs: public void release() {
          try {
              if (lock != null) {
                  lock.release();
              }
          } catch (IOException e) {
              throw new RuntimeException(e);
          } finally {
              if (channel != null) {
                  try {
                      channel.close();   // also releases the lock
                  } catch (IOException e) {
                      LOGGER.error("file channel close failed.", e);
                  }
              }
          }
      }