static void extractRootFeatures(ProductConfiguration product, List<DependencySeed> seeds) {
    final String productId = product.getId();

    // add root features as special dependency seed which are marked as "add-on" for the product
    DependencySeed.Filter filter =
        new DependencySeed.Filter() {
          public boolean isAddOnFor(String type, String id) {
            return ArtifactType.TYPE_ECLIPSE_PRODUCT.equals(type) && productId.equals(id);
          }
        };
    for (FeatureRef feature : product.getFeatures()) {
      if (feature.getInstallMode() == FeatureRef.InstallMode.root) {
        // TODO 372780 get feature version from target platform that matches the specification;
        // picking any version will no longer work once the the director installs from the target
        // platform instead of from the resolved dependencies
        seeds.add(
            new DependencySeed(ArtifactType.TYPE_ECLIPSE_FEATURE, feature.getId(), null, filter));
      }
    }
    product.removeRootInstalledFeatures();
  }