static/ext/src/util/AbstractMixedCollection.js
function(index, key, obj) {
        if (Ext.isIterable(key)) {
            return this.doInsert(index, key, obj);
        }
        return (obj ? this.doInsert(index, [key], [obj]) : this.doInsert(index, [key]))[0];
    }
function(index, key, obj) {
        if (Ext.isIterable(key)) {
            return this.doInsert(index, key, obj);
        }
        return (obj ? this.doInsert(index, [key], [obj]) : this.doInsert(index, [key]))[0];
    }
</deprecated> 
Inserts an item at the specified index in the collection. Fires the {@link #event-add} event when complete.
@param {Number} index The index to insert the item at.
@param {String/Object/String[]/Object[]} key The key to associate with the new item, or the item itself.
May also be an array of either to insert multiple items at once.
@param {Object/Object[]} o (optional) If the second parameter was a key, the new item.
May also be an array to insert multiple items at once.
@return {Object} The item inserted or an array of items inserted.
@since Ext 1