static _makeUpAnEntity(entityCache, url) {
    if (!UrlUtils.isValid(url)) return;

    const parsedUrl = Util.createOrReturnURL(url);
    if (parsedUrl.protocol === 'chrome-extension:') {
      return EntityClassification.makeupChromeExtensionEntity_(entityCache, url);
    }

    // Make up an entity only for valid http/https URLs.
    if (!parsedUrl.protocol.startsWith('http')) return;

    const rootDomain = UrlUtils.getRootDomain(url);
    if (!rootDomain) return;
    if (entityCache.has(rootDomain)) return entityCache.get(rootDomain);

    const unrecognizedEntity = {
      name: rootDomain,
      company: rootDomain,
      category: '',
      categories: [],
      domains: [rootDomain],
      averageExecutionTime: 0,
      totalExecutionTime: 0,
      totalOccurrences: 0,
      isUnrecognized: true,
    };
    entityCache.set(rootDomain, unrecognizedEntity);
    return unrecognizedEntity;
  }
@param {EntityCache} entityCache
@param {string} url
@return {LH.Artifacts.Entity | undefined}