public function resolve($name, $constraint, $isDevelopment)
 {
     $name = strtolower($name);
     if (array_key_exists($name, $this->dependencies)) {
         return;
     }
     if (!$constraint instanceof ConstraintInterface) {
         $constraint = $this->versionParser->parseConstraints($constraint);
     }
     $package = $this->manager->findPackage($name, $constraint);
     if (!$package) {
         throw new RuntimeException(sprintf('Unable to find package "%s"', $name));
     }
     foreach ($package->getDependencies() as $dependencyName => $dependencyVersion) {
         $this->resolve($dependencyName, $dependencyVersion, false);
     }
     foreach ($package->getDevelopmentDependencies() as $dependencyName => $dependencyVersion) {
         $this->resolve($dependencyName, $dependencyVersion, true);
     }
     $package->setDevelopmentPackage($isDevelopment);
     $this->dependencies[$name] = $package;
 }