protected function printApplications(array $applications, Workflow $workflow)
    {
        $this->output->writeln(PHP_EOL . 'Applications:' . PHP_EOL);
        foreach ($applications as $application) {
            $this->output->writeln('  <success>' . $application->getName() . ':</success>');
            $this->output->writeln('    <comment>Deployment path</comment>: <success>' . $application->getDeploymentPath() . '</success>');
            $this->output->writeln('    <comment>Options</comment>: ');
            foreach ($application->getOptions() as $key => $value) {
                if (is_array($value)) {
                    $this->output->writeln('      ' . $key . ' =>');
                    foreach ($value as $itemKey => $itemValue) {
                        $itemOutput = is_string($itemKey) ? sprintf('%s => %s', $itemKey, $itemValue) : $itemValue;
                        $this->output->writeln(sprintf('        <success>%s</success>', $itemOutput));
                    }
                } else {
                    $printableValue = is_scalar($value) ? $value : gettype($value);
                    $this->output->writeln('      ' . $key . ' => <success>' . $printableValue . '</success>');
                }
            }
            $this->output->writeln('    <comment>Nodes</comment>: <success>' . implode(
                ', ',
                    $application->getNodes()
            ) . '</success>');

            if ($workflow instanceof SimpleWorkflow) {
                $this->output->writeln('    <comment>Detailed workflow</comment>: ');
                $this->printStages($application, $workflow->getStages(), $workflow->getTasks());
            }
        }
    }