/**
  * Resolve configuration.
  *
  * @return ConfigurationResolver
  */
 public function resolve()
 {
     $this->resolvePath();
     $this->resolveIsStdIn();
     $this->resolveIsDryRun();
     $this->resolveConfig();
     $this->resolveConfigPath();
     $this->resolveRiskyAllowed();
     $this->fixerFactory->registerCustomFixers($this->getConfig()->getCustomFixers());
     $this->fixerFactory->attachConfig($this->getConfig());
     $this->resolveRules();
     $this->resolveFixers();
     $this->resolveProgress();
     $this->resolveUsingCache();
     $this->resolveCacheFile();
     $this->config->fixers($this->getFixers());
     $this->config->setRules($this->getRules());
     $this->config->setUsingCache($this->usingCache);
     $this->config->setCacheFile($this->cacheFile);
     $this->config->setRiskyAllowed($this->allowRisky);
     return $this;
 }