/**
  * Render Akeneo PIM requirements
  *
  * @param InputInterface         $input
  * @param OutputInterface        $output
  * @param \RequirementCollection $collection
  *
  * @throws \RuntimeException
  */
 protected function renderRequirements(InputInterface $input, OutputInterface $output, \RequirementCollection $collection)
 {
     $this->renderTable($collection->getMandatoryRequirements(), 'Mandatory requirements', $output);
     $this->renderTable($collection->getPhpIniRequirements(), 'PHP requirements', $output);
     $this->renderTable($collection->getOroRequirements(), 'Oro Platform requirements', $output);
     $this->renderTable($collection->getPimRequirements(), 'Pim requirements', $output);
     $this->renderTable($collection->getRecommendations(), 'Recommendations', $output);
     if (count($collection->getFailedRequirements())) {
         $this->renderTable($collection->getFailedRequirements(), 'Errors', $output);
         throw new \RuntimeException('Some system requirements are not fulfilled. Please check output messages and fix them');
     }
 }
 /**
  * Adds a requirement collection to the current set of requirements.
  *
  * @param RequirementCollection $collection A RequirementCollection instance
  */
 public function addCollection(RequirementCollection $collection)
 {
     $this->requirements = array_merge($this->requirements, $collection->all());
 }