protected function openFile($seekFirstDataRow = true)
    {
        $this->lockFile();

        try {
            $this->fileHandler = fopen($this->filename, 'r');
            if ($seekFirstDataRow) {
                fgets($this->fileHandler);
            }
        } catch (\Exception $e) {
            throw new DataStoreException(
                "Failed to open file. The specified file does not exist or one is closed for reading."
            );
        } finally {
            $this->lockHandler->release();
        }
    }