protected function execute(InputInterface $input, OutputInterface $output)
    {
        $messages = [
            'info' => '<error>WARNING! This command involves a very high risk of data/file losses</error>',
            'skipping' => '<comment>Exiting</comment>',
            'question' => "<info>Are you sure you want to execute this command ? y/[n]</info>\n",
        ];
        if (!$this->askQuestion($input, $output, [true], $messages)) {
            return 0;
        }

        $executeAll = true;
        if ($input->getOption('delete-extra')
            || $input->getOption('delete-orphans')
            || $input->getOption('delete-missing')
        ) {
            $executeAll = false;
        }

        $this->computeFileSystemDifferences();

        if ($executeAll || $input->getOption('delete-extra')) {
            $this->executeDeleteExtra($input, $output);
        }

//        if ($executeAll || $input->getOption('delete-missing')) {
//            $this->executeDeleteMissing($input, $output);
//        }

        if ($executeAll || $input->getOption('delete-orphans')) {
            $this->executeDeleteOrphans($input, $output);
        }

        if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
            $output->writeln('<info>Success</info>');
        }

        return 0;
    }
protected function execute(InputInterface $input, OutputInterface $output)
    {
        $messages = [
            'info' => '<error>WARNING! This command involves a very high risk of data/file losses</error>',
            'skipping' => '<comment>Exiting</comment>',
            'question' => "<info>Are you sure you want to execute this command ? y/[n]</info>\n",
        ];
        if (!$this->askQuestion($input, $output, [true], $messages)) {
            return 0;
        }

        $executeAll = true;
        if ($input->getOption('delete-extra')
            || $input->getOption('delete-orphans')
            || $input->getOption('delete-missing')
        ) {
            $executeAll = false;
        }

        $this->computeFileSystemDifferences();

        if ($executeAll || $input->getOption('delete-extra')) {
            $this->executeDeleteExtra($input, $output);
        }

//        if ($executeAll || $input->getOption('delete-missing')) {
//            $this->executeDeleteMissing($input, $output);
//        }

        if ($executeAll || $input->getOption('delete-orphans')) {
            $this->executeDeleteOrphans($input, $output);
        }

        if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
            $output->writeln('<info>Success</info>');
        }

        return 0;
    }
@param InputInterface  $input
@param OutputInterface $output

@throws \Exception

@return int|null