code: protected function askQuestion(
          InputInterface $input,
          OutputInterface $output,
          array $items,
          array $messages
      ) {
          $count = \count($items);
          if (0 === $count) {
              if (isset($messages['no_item']) && $output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
                  $output->writeln($messages['no_item']);
              }
  
              return false;
          }
  
          if (isset($messages['info']) && $output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
              $output->writeln($messages['info']);
          }
  
          if (!$input->getOption('force') && $input->isInteractive()) {
              /** @var QuestionHelper $questionHelper */
              $questionHelper = $this->getHelper('question');
              $questionMessage = "Are you sure you wan't to do this action ? y/[n]\n";
              if (isset($messages['question'])) {
                  $questionMessage = $messages['question'];
              }
              $question = new Question($questionMessage, 'n');
              if ('y' !== strtolower($questionHelper->ask($input, $output, $question))) {
                  if (isset($messages['skipping']) && $output->getVerbosity() >= OutputInterface::VERBOSITY_NORMAL) {
                      $output->writeln($messages['skipping']);
                  }
  
                  return false;
              }
          } elseif (!$input->getOption('force')) {
              if (isset($messages['error']) && $output->getVerbosity() >= OutputInterface::VERBOSITY_NORMAL) {
                  $output->writeln($messages['error']);
              }
  
              return false;
          }
  
          return true;
      }
docs: @param InputInterface  $input
  @param OutputInterface $output
  @param array           $items
  @param array           $messages
  
  @throws RuntimeException
  @throws LogicException
  @throws InvalidArgumentException
  
  @return bool