protected function execute(InputInterface $input, OutputInterface $output)
    {
        $setting = $input->getOption('setting');
        $options = array();

        if ($setting === null) {
            throw new \Exception('No setting provided!');
        }

        $scan = new \Psecio\Iniscan\Scan();
        $ruleSet = $scan->getRules();

        // see if we can find info about the setting
        $found = array();
        foreach ($ruleSet as $section => $rules) {
            foreach ($rules as $rule) {
                if (isset($rule->test->key) && $rule->test->key === $setting) {
                    if (isset($rule->info)) {
                        $found[] = $rule;
                    }
                }
            }
        }

        if (!empty($found)) {
            $outputHandler = new \Psecio\Iniscan\Command\InfoCommand\Output\Console($output, $options);
            return $outputHandler->render($found);
        } else {
            $output->writeLn('No information found for setting '.$setting);
        }
    }