@Override
    public void runTask(InstallTasksQueue queue) throws IOException {
        if (this.zipExtractLocation != null)
            unzipFile(this.copyTaskQueue, this.cacheLocation, this.zipExtractLocation, this.filter);

        if (sourceUrl != null && (!this.cacheLocation.exists() || (fileVerifier != null && !fileVerifier.isFileValid(this.cacheLocation))))
            downloadFile(this.downloadTaskQueue, this.sourceUrl, this.cacheLocation, this.fileVerifier, this.friendlyFileName);
    }