protected function interact(InputInterface $input, OutputInterface $output)
    {
        $this->input = $input;
        $this->output = $output;
        $this->questionHelper = $this->getHelper('question');

        if (Kernel::VERSION_ID < 20700) {
            throw new RuntimeException(
                'Installation is not possible. Netgen Admin UI requires Symfony 2.7 or later to work.'
            );
        }

        if (!$this->getContainer()->hasParameter('ezpublish_legacy.root_dir')) {
            throw new RuntimeException(
                sprintf(
                    "%s\n%s",
                    'Installation is not possible because eZ Publish Legacy is not present.',
                    'Netgen Admin UI requires eZ Publish Community 2014.12 (Netgen Variant), eZ Publish 5.4.x or eZ Platform with Legacy Bridge to work.'
                )
            );
        }

        $this->writeSection('Welcome to the Netgen Admin UI installation');

        while (!$this->doInteract()) {
        }

        return 0;
    }