public ModuleResolveState getModule(ModuleIdentifier id) {
   ModuleResolveState module = modules.get(id);
   if (module == null) {
     module = new ModuleResolveState(id, this);
     modules.put(id, module);
   }
   return module;
 }
    public ModuleVersionResolveState getVersion(ModuleVersionIdentifier id) {
      ModuleVersionResolveState moduleRevision = versions.get(id);
      if (moduleRevision == null) {
        moduleRevision = new ModuleVersionResolveState(this, id, resolveState);
        versions.put(id, moduleRevision);
      }

      return moduleRevision;
    }
 public ModuleVersionSelectorResolveState getSelector(DependencyMetaData dependencyMetaData) {
   ModuleVersionSelector requested = dependencyMetaData.getRequested();
   ModuleVersionSelectorResolveState resolveState = selectors.get(requested);
   if (resolveState == null) {
     resolveState = new ModuleVersionSelectorResolveState(dependencyMetaData, resolver, this);
     selectors.put(requested, resolveState);
   }
   return resolveState;
 }
 public void addUnresolvedDependency(
     DependencyEdge dependency,
     ModuleVersionSelector requested,
     ModuleVersionResolveException failure) {
   BrokenDependency breakage = failuresByRevisionId.get(requested);
   if (breakage == null) {
     breakage = new BrokenDependency(failure);
     failuresByRevisionId.put(requested, breakage);
   }
   breakage.requiredBy.add(dependency.from);
 }
 public ConfigurationNode getConfigurationNode(
     ModuleVersionResolveState module, String configurationName) {
   ResolvedConfigurationIdentifier id =
       new ResolvedConfigurationIdentifier(module.id, configurationName);
   ConfigurationNode configuration = nodes.get(id);
   if (configuration == null) {
     configuration = new ConfigurationNode(id, module, this);
     nodes.put(id, configuration);
   }
   return configuration;
 }