public synchronized void destroy() throws IOException {
        unlock();
        if (file.exists() && file.delete()) {
            LOGGER.trace("Deleted {}", file.getAbsolutePath());
        }
        channel.close();
    }
@Test
    void testDestroy() throws IOException {
        File tempFile = TestUtils.tempFile();
        FileLock lock1 = new FileLock(tempFile);
        lock1.destroy();
        assertFalse(tempFile.exists());
        assertDoesNotThrow(lock1::destroy);
    }