protected function download()
    {
        $this->data_url = $this->job['data']['sources'][$this->job['done']];

        $filename = md5($this->data_url);
        $destination = gplcart_file_private_module('installer', "$filename.zip", true);
        $result = $this->file_transfer->download($this->data_url, 'zip', $destination);

        if ($result === true) {
            return $this->file_transfer->getTransferred();
        }

        $this->setError($result);
        return false;
    }