/**
* @param InputInterface $input
* @param OutputInterface $output
* @return int|null|void
*/
public function execute(InputInterface $input, OutputInterface $output)
{
$report = new Report(array('show-source' => $input->getOption('show-source')));
$magniffer = new Magniffer($this->getFileIterator($input->getArgument('path'), array('php', 'xml')));
$patterns = $this->preparePatterns($input->getOption('patterns-dir'));
$magniffer->addInspector(new InspectorXml($patterns['xml'], $report))->addInspector(new InspectorPhp($patterns['php'], $report, $input->getOption('print-tree')))->runInspection();
$report->render($output);
}