public void untrack(Tuple2<JobID, BlobKey> key) {
        checkNotNull(key);
        checkNotNull(key.f0);
        checkNotNull(key.f1);

        synchronized (lock) {
            blobKeyByJob.computeIfAbsent(key.f0, ignore -> new HashSet<>()).remove(key.f1);

            Long size = caches.remove(key);
            if (size != null) {
                checkState(size >= 0);
                total -= size;
            }
        }
    }
@Test
    void testUntrackBlobWithNullJobId() {
        assertThatThrownBy(
                        () ->
                                tracker.untrack(
                                        Tuple2.of(
                                                null, BlobKey.createKey(BlobType.PERMANENT_BLOB))))
                .isInstanceOf(NullPointerException.class);
    }