code: public void release() throws Exception {
          synchronized (this) {
              if (log.isDebugEnabled()) {
                  log.debug("Releasing lock on " + lockFile.getAbsolutePath());
              }
              if (fileLock != null) {
                  try {
                      fileLock.release();
                      fileLock = null;
                  } catch (Exception e) {
                      throw new Exception("Unable to release locked file: " + lockFile.getAbsolutePath(), e);
                  }
                  if (fileChannel != null) {
                      try {
                          fileChannel.close();
                      } catch (IOException e) {
                          // ignore
                      }
                      fileChannel = null;
                  }
                  if (lockFile != null) {
                      if (lockFile.exists()) {
                          lockFile.delete();
                      }
                      lockFile = null;
                  }
              }
          }
      }
docs: Releases the lock.
  
  @throws Exception if the lock could not be released  for any reason