@Override
 public File[] getAll() {
   // Merge files from all archives, ignoring duplicates
   Set<File> fileSet = new HashSet<File>();
   for (Archive<File> archive : archives) {
     fileSet.addAll(Arrays.asList(archive.getAll()));
   }
   File[] files = new File[fileSet.size()];
   fileSet.toArray(files);
   return files;
 }