public ResolveState(
     ComponentResolveResult rootResult,
     String rootConfigurationName,
     DependencyToComponentIdResolver idResolver,
     ComponentMetaDataResolver metaDataResolver,
     DependencyToConfigurationResolver dependencyToConfigurationResolver) {
   this.idResolver = idResolver;
   this.metaDataResolver = metaDataResolver;
   this.dependencyToConfigurationResolver = dependencyToConfigurationResolver;
   ModuleVersionResolveState rootVersion = getRevision(rootResult.getId());
   rootVersion.setMetaData(rootResult.getMetaData());
   root =
       new RootConfigurationNode(
           rootVersion,
           new ResolvedConfigurationIdentifier(rootVersion.id, rootConfigurationName),
           this);
   nodes.put(root.id, root);
   root.moduleRevision.module.select(root.moduleRevision);
 }