async _followLinks(urls, options, depth) {
    if (depth >= options.maxDepth) {
      this.emit(HCCrawler.Events.MaxDepthReached);
      return;
    }
    await Promise.all(map(urls, async url => {
      const _options = extend({}, options, { url });
      const skip = await this._skipRequest(_options);
      if (skip) return;
      await this._push(_options, depth + 1, options.url);
    }));
  }
@param {!Array<!string>} urls
@param {!Object} options
@param {!number} depth
@return {!Promise}
@private