protected function callCommand($sCommand, array $aArguments = [], $bInteractive = true, $bSilent = false)
    {
        $oCmd       = $this->getApplication()->find($sCommand);
        $aArguments = array_merge(['command' => $sCommand], $aArguments);
        $oCmdInput  = new ArrayInput($aArguments);

        $oCmdInput->setInteractive($bInteractive);

        if ($bSilent) {
            $oCmdOutput = new NullOutput();
        } else {
            $oCmdOutput = $this->oOutput;
        }

        return $oCmd->run($oCmdInput, $oCmdOutput);
    }