code: public function process(ThingInterface $thing, $sourcePath, OptionsInterface $options = null)
      {
          $tmpPath = tempnam(sys_get_temp_dir(), 'Dadatata');
  
          $pb = new ProcessBuilder(
              [
                  $this->bin
              ]
          );
          $pb->add('--xml');
          $pb->add($sourcePath);
          $process = $pb->getProcess();
  
          $code = $process->run();
          if ($code !== 0) {
              throw ProcessingFailedException::create(
                  'Failed to extract barcodes',
                  $code,
                  $process->getOutput(),
                  $process->getErrorOutput()
              );
          }
  
          file_put_contents($tmpPath, $process->getOutput());
  
          return [$tmpPath];
      }
docs: @param ThingInterface                              $thing
  @param string                                      $sourcePath
  @param \Asoc\Dadatata\Filter\OptionsInterface|null $options
  
  @throws \Asoc\Dadatata\Exception\ProcessingFailedException
  @return array Paths to generated files