/** * @param Project[] $projects * @param string $command * @param array $translation * @param OutputInterface $output */ protected function executeProjects(array $projects, $command, OutputInterface $output, Client $client, $withSubsystems = false) { foreach ($projects as $project) { $systems = $client->getSystems($project); foreach ($systems as $mainSystem) { if ($withSubsystems) { $systemsWithSubSystems = $mainSystem->getSubSystems(); } else { $systemsWithSubSystems = array(); } $systemsWithSubSystems[] = $mainSystem; $this->executeSystems($systemsWithSubSystems, $command, $output); } } }