function completionCallback() {
            increment--;
            if (increment > 0) {
                return;
            }
            eventFinished = true;

            //do not override true if set (false is default)
            tile.hasTransparency = tile.hasTransparency || _this.source.hasTransparency(
                undefined, tile.getUrl(), tile.ajaxHeaders, tile.postData
            );
            tile.loading = false;
            tile.loaded = true;
            _this.redraw();
            resolver(tile);
        }
@private
@param {OpenSeadragon.Tile} tile
@param {*} data image data, the data sent to ImageJob.prototype.finish(), by default an Image object,
  can be null: in that case, cache is assigned to a tile without further processing
@param {?Number} cutoff ignored, @deprecated
@param {?XMLHttpRequest} tileRequest
@param {?String} [dataType=undefined] data type, derived automatically if not set