function failure(resource, error, provider, previousError) {
  let message = `Failed to load image ${resource.url}`;
  if (defined(error) && defined(error.message)) {
    message += `: ${error.message}`;
  }

  const reportedError = TileProviderError.reportError(
    previousError,
    provider,
    defined(provider) ? provider._errorEvent : undefined,
    message,
    0,
    0,
    0,
    error,
  );
  if (reportedError.retry) {
    return doRequest(resource, provider, reportedError);
  }

  if (defined(provider)) {
    provider._hasError = true;
  }
  throw new RuntimeError(message);
}
Gets a value indicating whether or not the images provided by this imagery provider
include an alpha channel.  If this property is false, an alpha channel, if present, will
be ignored.  If this property is true, any images without an alpha channel will be treated
as if their alpha is 1.0 everywhere.  When this property is false, memory usage
and texture upload time are reduced.
@memberof SingleTileImageryProvider.prototype
@type {boolean}
@readonly