@Override
 public void initializeUI(UIBuilder builder) throws Exception {
   Set<AddonId> choices = new TreeSet<>();
   for (AddonRepository repository : furnace.getRepositories()) {
     // Avoid immutable repositories
     if (repository instanceof MutableAddonRepository) {
       for (AddonId id : repository.listEnabled()) {
         if (id.getName().contains(":")) choices.add(id);
       }
     }
   }
   addonDependencies.setValueChoices(choices);
   addonDependencies.setDefaultValue(new ArrayList<AddonId>());
   builder.add(addonDependencies);
 }
 @After
 public void tearDown() {
   if (immutable != null) {
     File rootDirectory = immutable.getRootDirectory();
     if (!Files.delete(rootDirectory, true)) {
       System.err.println("Could not delete " + rootDirectory);
       rootDirectory.deleteOnExit();
     }
   }
   if (mutable != null) {
     File rootDirectory = mutable.getRootDirectory();
     if (!Files.delete(rootDirectory, true)) {
       System.err.println("Could not delete " + rootDirectory);
       rootDirectory.deleteOnExit();
     }
   }
 }
 /** Hack to deploy addon in an immutable repository */
 private static void deployAddonInImmutableRepository(
     AddonId addonId, AddonRepository repository) {
   Furnace furnace = new FurnaceImpl();
   furnace.addRepository(AddonRepositoryMode.MUTABLE, repository.getRootDirectory());
   AddonManagerImpl addonManager =
       new AddonManagerImpl(furnace, new MavenAddonDependencyResolver());
   addonManager.deploy(addonId).perform();
 }