docs: public void addAutoAttachCacheFile(File metadataCacheFile) throws IOException {
          MetadataCache opened = new MetadataCache(metadataCacheFile);  // Make sure it is readable and valid.
          try {
              if (opened.sourceMedia != null) {  // Remove any auto-attach files created from the same media as the one being added.
                  Iterator<File> iterator = autoAttachCacheFiles.iterator();
                  while (iterator.hasNext()) {
                      File file = iterator.next();
                      if (!file.equals(metadataCacheFile)) {
                          MetadataCache existing = new MetadataCache(file);
                          try {
                              if (existing.sourceMedia != null && existing.sourceMedia.hashKey().equals(opened.sourceMedia.hashKey())) {
                                  iterator.remove();
                              }
                          } finally {
                              existing.close();
                          }
                      }
                  }
              }
          } finally {
              opened.close();
          }
          if (autoAttachCacheFiles.add(metadataCacheFile)) {
              for (SlotReference slot : getMountedMediaSlots()) {
                  MetadataCache.tryAutoAttaching(slot);
              }
          }
      }