lib/Ext/util/AbstractMixedCollection.js
function(index, key, obj){
        var me = this,
            myKey = key,
            myObj = obj;

        if (arguments.length == 2) {
            myObj = myKey;
            myKey = me.getKey(myObj);
        }
        if (me.containsKey(myKey)) {
            me.suspendEvents();
            me.removeAtKey(myKey);
            me.resumeEvents();
        }
        if (index >= me.length) {
            return me.add(myKey, myObj);
        }
        me.length++;
        Ext.Array.splice(me.items, index, 0, myObj);
        if (typeof myKey != 'undefined' && myKey !== null) {
            me.map[myKey] = myObj;
        }
        Ext.Array.splice(me.keys, index, 0, myKey);
        me.fireEvent('add', index, myObj, myKey);
        return myObj;
    }
function(index, key, obj){
        var me = this,
            myKey = key,
            myObj = obj;

        if (arguments.length == 2) {
            myObj = myKey;
            myKey = me.getKey(myObj);
        }
        if (me.containsKey(myKey)) {
            me.suspendEvents();
            me.removeAtKey(myKey);
            me.resumeEvents();
        }
        if (index >= me.length) {
            return me.add(myKey, myObj);
        }
        me.length++;
        Ext.Array.splice(me.items, index, 0, myObj);
        if (typeof myKey != 'undefined' && myKey !== null) {
            me.map[myKey] = myObj;
        }
        Ext.Array.splice(me.keys, index, 0, myKey);
        me.fireEvent('add', index, myObj, myKey);
        return myObj;
    }
function ( index , key , obj ) { var me = this , myKey = key , myObj = obj ; if ( arguments . length == 2 ) { myObj = myKey ; myKey = me . getKey ( myObj ) ; } if ( me . containsKey ( myKey ) ) { me . suspendEvents ( ) ; me . removeAtKey ( myKey ) ; me . resumeEvents ( ) ; } if ( index >= me . length ) { return me . add ( myKey , myObj ) ; } me . length ++ ; Ext . Array . splice ( me . items , index , 0 , myObj ) ; if ( typeof myKey != 'undefined' && myKey !== null ) { me . map [ myKey ] = myObj ; } Ext . Array . splice ( me . keys , index , 0 , myKey ) ; me . fireEvent ( 'add' , index , myObj , myKey ) ; return myObj ; }
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} key The key to associate with the new item, or the item itself.
@param {Object} [obj] If the second parameter was a key, the new item.
@return {Object} The item inserted.
Inserts an item at the specified index in the collection . Fires the {