public function process($dataRowsToSkip = 0, $maxDataRows = null, $collectData = false)
    {
        $result = $this->app->make(ImportResult::class);
        if ($this->processHeader($result)) {
            if ($this->dryRun !== false) {
                // Let's start a transaction. It shouldn't be necessary, but it doesn't cost a penny ;)
                $this->entityManager->getConnection()->beginTransaction();
            }
            try {
                $this->processData($result, $dataRowsToSkip, $maxDataRows, $collectData);
            } finally {
                if ($this->dryRun !== false) {
                    try {
                        $this->entityManager->getConnection()->rollBack();
                    } catch (Exception $foo) {
                    }
                }
            }
        }

        return $result;
    }