/**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     // Validation of user input
     $this->prepareExportInputValidation($input);
     $this->registerErrorHandler($output);
     $helper = new CommandHelper(array('profileEntity' => $this->profileEntity, 'filePath' => Shopware()->DocPath() . $this->filePath, 'format' => $this->format, 'exportVariants' => $this->exportVariants, 'limit' => $this->limit, 'offset' => $this->offset, 'username' => 'Commandline', 'category' => $this->category ? array($this->category) : null));
     $output->writeln('<info>' . sprintf("Using profile: %s.", $this->profile) . '</info>');
     $output->writeln('<info>' . sprintf("Using format: %s.", $this->format) . '</info>');
     $output->writeln('<info>' . sprintf("Using file: %s.", $this->filePath) . '</info>');
     if ($this->category) {
         $output->writeln('<info>' . sprintf("Using category as filter: %s.", $this->category) . '</info>');
     }
     $return = $helper->prepareExport();
     $count = $return['count'];
     $output->writeln('<info>' . sprintf("Total count: %d.", $count) . '</info>');
     $data = $helper->exportAction();
     $position = $data['position'];
     $output->writeln('<info>' . sprintf("Processed: %d.", $position) . '</info>');
     while ($position < $count) {
         $data = $helper->exportAction();
         $position = $data['position'];
         $output->writeln('<info>' . sprintf("Processed: %d.", $position) . '</info>');
     }
 }