@Override
    public boolean release() {
        if (references.decrementAndGet() == 0) {
            return tryClose();
        }
        return false;
    }
@Test
    void releaseToZeroRefCounterShouldDeleteTheFile() throws IOException {
        final File newFile = TempDirUtils.newFile(tempFolder, ".tmp_" + UUID.randomUUID());

        RefCountedFile fileUnderTest = new RefCountedFile(newFile);
        verifyTheFileIsStillThere();

        fileUnderTest.release();

        try (Stream<Path> files = Files.list(tempFolder)) {
            assertThat(files).isEmpty();
        }
    }