code: function( item, index ) {
          $.console.assert(item, "[World.setItemIndex] item is required");
          $.console.assert(index !== undefined, "[World.setItemIndex] index is required");
  
          var oldIndex = this.getIndexOfItem( item );
  
          if ( index >= this._items.length ) {
              throw new Error( "Index bigger than number of layers." );
          }
  
          if ( index === oldIndex || oldIndex === -1 ) {
              return;
          }
  
          this._items.splice( oldIndex, 1 );
          this._items.splice( index, 0, item );
          this._needsDraw = true;
  
          /**
           * Raised when the order of the indexes has been changed.
           * @event item-index-change
           * @memberOf OpenSeadragon.World
           * @type {object}
           * @property {OpenSeadragon.World} eventSource - A reference to the World which raised the event.
           * @property {OpenSeadragon.TiledImage} item - The item whose index has
           * been changed
           * @property {Number} previousIndex - The previous index of the item
           * @property {Number} newIndex - The new index of the item
           * @property {?Object} userData - Arbitrary subscriber-defined object.
           */
          this.raiseEvent( 'item-index-change', {
              item: item,
              previousIndex: oldIndex,
              newIndex: index
          } );
      }
docs: Change the index of a item so that it appears over or under others.
  @param {OpenSeadragon.TiledImage} item - The item to move.
  @param {Number} index - The new index.
  @fires OpenSeadragon.World.event:item-index-change