private function handle()
    {
        if (!$this->handle) {
            if (!($this->handle = @fopen($this->file, 'rb'))) {
                throw FileException::lastError();
            }
        }

        return $this->handle;
    }