protected function execute(InputInterface $input, OutputInterface $output)
    {
        $this->init($input, $output);

        $config = $this->initConfiguration($input->getOption('config_file'));

        $rules = $config->getRules();

        foreach ($rules as $name => $rule) {
            $info = Init::getInitInformationByClass(get_class($rule));
            $output->writeln('  ' . $name . ':');
            $output->writeln('    class: ' . get_class($rule));
            $output->writeln('    description: ' . str_replace("\n", "\n                 ", $info['documentation']));

            if (count($info['parameters']) > 0) {
                $output->writeln('    parameter:');

                foreach ($info['parameters'] as $parameter) {
                    $output->writeln('      ' . $parameter['name'] . ': ' . $parameter['description'] . ' (default: ' . $parameter['default'] . ')');
                }
            }

            $output->writeln('');
        }
    }