getWorkingCacheData = (type) => {
                if (workingCache) {
                    return workingCache.getDataAs(type, false);
                }

                const targetCopyKey = restoreTiles ? tile.originalCacheKey : tile.cacheKey;
                const origCache = tile.getCache(targetCopyKey);
                if (!origCache) {
                    $.console.error("[Tile::getData] There is no cache available for tile with key %s", targetCopyKey);
                    return $.Promise.reject();
                }
                // Here ensure type is defined, rquired by data callbacks
                type = type || origCache.type;
                workingCache = new $.CacheRecord().withTileReference(tile);
                return origCache.getDataAs(type, true).then(data => {
                    workingCache.addTile(tile, data, type);
                    return workingCache.data;
                });
            }
Requests tile data update.
@function OpenSeadragon.Viewer.prototype._updateSequenceButtons
@private
@param {Iterable<OpenSeadragon.Tile>} tilesToProcess tiles to update
@param {Number} tStamp timestamp in milliseconds, if active timestamp of the same value is executing,
  changes are added to the cycle, else they await next iteration
@param {Boolean} [restoreTiles=true] if true, tile processing starts from the tile original data
@param {Boolean} [_allowTileUnloaded=false] internal flag for calling on tiles that come new to the system
@fires OpenSeadragon.Viewer.event:tile-invalidated
@return {OpenSeadragon.Promise<?>}