/**
  * Show an issue report
  *
  * @param integer $count
  * @param string $extensionKey
  */
 protected function issueReport($count, $extensionKey = '')
 {
     $forExtension = trim($extensionKey) ? ' for extension: ' . $extensionKey : '';
     switch ((int) $count) {
         case 0:
             $this->messageBus->successMessage('No issues found' . $forExtension, TRUE);
             break;
         case 1:
             $this->messageBus->warningMessage($count . ' issue found' . $forExtension, TRUE);
             break;
         default:
             $this->messageBus->warningMessage($count . ' issues found' . $forExtension, TRUE);
     }
 }
 /**
  * Migrate
  *
  * @param string $migrationTaskKey
  * @param string $extensionKey
  * @param boolean $experimental When TRUE, try to process experimental
  *    migrations as well
  * @return void
  */
 private function migrate($migrationTaskKey, $extensionKey = '', $experimental)
 {
     $migrationTask = NULL;
     /** @var Tx_Smoothmigration_Service_Migration_Registry $registry */
     $registry = Tx_Smoothmigration_Service_Migration_Registry::getInstance();
     if (!empty($migrationTaskKey)) {
         $migrationTask = $registry->getActiveMigrationByCliKey($migrationTaskKey);
     }
     if ($migrationTask === NULL) {
         $this->messageBus->message('Please choose a migration to execute.' . LF . LF . 'Possible options are:' . LF);
         $this->messageBus->message($this->getMigrations());
         return;
     }
     /** @var Tx_Smoothmigration_Migrations_AbstractMigrationProcessor $processor */
     $processor = $migrationTask->getProcessor();
     $processor->setMessageService($this->messageBus);
     $processor->setExperimental($experimental);
     $processor->setExtensionKey($extensionKey);
     $processor->execute();
 }