code: function(tileRecord) {
          $.console.assert(tileRecord, '[TileCache._unloadTile] tileRecord is required');
          var tile = tileRecord.tile;
          var tiledImage = tileRecord.tiledImage;
  
          tile.unload();
          tile.cacheImageRecord = null;
  
          var imageRecord = this._imagesLoaded[tile.cacheKey];
          imageRecord.removeTile(tile);
          if (!imageRecord.getTileCount()) {
              imageRecord.destroy();
              delete this._imagesLoaded[tile.cacheKey];
              this._imagesLoadedCount--;
          }
  
          /**
           * Triggered when a tile has just been unloaded from memory.
           *
           * @event tile-unloaded
           * @memberof OpenSeadragon.Viewer
           * @type {object}
           * @property {OpenSeadragon.TiledImage} tiledImage - The tiled image of the unloaded tile.
           * @property {OpenSeadragon.Tile} tile - The tile which has been unloaded.
           */
          tiledImage.viewer.raiseEvent("tile-unloaded", {
              tile: tile,
              tiledImage: tiledImage
          });
      }
docs: private