/**
  * @param InputInterface $input
  * @param OutputInterface $output
  *
  * @return int|null|void
  */
 public function execute(InputInterface $input, OutputInterface $output)
 {
     $this->input = $input;
     $this->output = $output;
     $this->printer->setOutput($output);
     $city = $input->getOption('city');
     $euroTop = $input->getOption('euroTop');
     $usTop = $input->getOption('usTop');
     $geonamesCount = $input->getOption('geonamesCount');
     $geonames = array();
     if ($city) {
         $geonames[] = $this->entityManager->find(Geoname::CLASS_NAME, $city);
     }
     if ($euroTop) {
         $geonames = $this->geonameRepository->findEuroTop($geonamesCount);
     }
     if ($usTop) {
         $geonames = $this->geonameRepository->findUsTop($geonamesCount);
     }
     $geonames = $this->applyOffset($geonames);
     foreach ($geonames as $geoname) {
         $this->printer->writelnEntityShort($geoname);
         $this->importCity($geoname);
     }
 }