return Q.allSettled([
            baseUtil.readFileFromCache(cacheFilePath),
            loadDataFromUrl(page.source)
        ]).spread((cache, remote) => {
            if(remote.state === 'rejected') {