_tryloadBrokenUrl(url, brokenUrl, imageToLoadBrokenUrlOn) {
    //If these parameters aren't specified then exit the function because nothing constructive can be done
    if (url === undefined || imageToLoadBrokenUrlOn === undefined) return;
    if (brokenUrl === undefined) {
      console.warn("No broken url image defined");
      return;
    }

    //Clear the old subscription to the error event and put a new in place that only handle errors in loading the brokenImageUrl
    imageToLoadBrokenUrlOn.image.onerror = () => {
      console.error("Could not load brokenImage:", brokenUrl);
      // cache item will contain empty image, this should be OK for default
    };

    //Set the source of the image to the brokenUrl, this is actually what kicks off the loading of the broken image
    imageToLoadBrokenUrlOn.image.src = brokenUrl;
  }
@param {string} url                      The original Url that failed to load, if the broken image is successfully loaded it will be added to the cache using this Url as the key so that subsequent requests for this Url will return the broken image
@param {string} brokenUrl                Url the broken image to try and load
@param {Image} imageToLoadBrokenUrlOn   The image object