public void assertConfigurationsHaveUniqueOutputDirectories(
     BuildConfigurationCollection configCollection) throws Exception {
   Collection<BuildConfiguration> allConfigs = configCollection.getAllConfigurations();
   Map<Root, BuildConfiguration> outputPaths = new HashMap<>();
   for (BuildConfiguration config : allConfigs) {
     if (config.isActionsEnabled()) {
       BuildConfiguration otherConfig = outputPaths.get(config.getOutputDirectory());
       if (otherConfig != null) {
         throw new IllegalStateException(
             "The output path '"
                 + config.getOutputDirectory()
                 + "' is the same for configurations '"
                 + config
                 + "' and '"
                 + otherConfig
                 + "'");
       } else {
         outputPaths.put(config.getOutputDirectory(), config);
       }
     }
   }
 }