private void addBundleListDependencies()
        throws IOException, XmlPullParserException, MojoExecutionException {
      BundleList bundleList;

      if (bundleListFile.exists()) {
        bundleList = readBundleList(bundleListFile);
      } else {
        bundleList = new BundleList();
      }

      if (additionalBundles != null) {
        for (ArtifactDefinition def : additionalBundles) {
          bundleList.add(def.toBundleList());
        }
      }

      interpolateProperties(bundleList, project, session);

      for (StartLevel startLevel : bundleList.getStartLevels()) {
        for (Bundle bundle : startLevel.getBundles()) {
          log.debug(
              String.format(
                  "adding bundle (%s) from bundle list to dependencies of project %s",
                  bundle, project));
          project.getDependencies().addAll(ArtifactDefinition.toDependencyList(bundle, PROVIDED));
        }
      }
    }