@Override
    public File getFile(JobID jobId, PermanentBlobKey key) throws IOException {
        checkNotNull(jobId);
        return getFileInternal(jobId, key);
    }
@Test
    void permanentBlobCacheChecksForCorruptedBlobsAtStart(@TempDir Path storageDirectory)
            throws IOException {
        final JobID jobId = new JobID();
        final PermanentBlobKey blobKey =
                TestingBlobUtils.writePermanentBlob(
                        storageDirectory, jobId, new byte[] {1, 2, 3, 4});

        final File blobFile =
                new File(
                        BlobUtils.getStorageLocationPath(
                                storageDirectory.toString(), jobId, blobKey));

        FileUtils.writeByteArrayToFile(blobFile, new byte[] {4, 3, 2, 1});

        try (PermanentBlobCache permanentBlobCache =
                new PermanentBlobCache(
                        new Configuration(),
                        storageDirectory.toFile(),
                        new VoidBlobStore(),
                        null)) {
            assertThatThrownBy(() -> permanentBlobCache.getFile(jobId, blobKey))
                    .isInstanceOf(IOException.class);
        }
    }