question: public V removeAt ( int index ) { final Object old = mArray [ ( index << 1 ) + 1 ] ; if ( mSize <= 1 ) { freeArrays ( mHashes , mArray , mSize ) ; mHashes = EMPTY_INTS ; mArray = EMPTY_OBJECTS ; mSize = 0 ; } else { if ( mHashes . length > ( BASE_SIZE * 2 ) && mSize < mHashes . length / 3 ) { final int n = mSize > ( BASE_SIZE * 2 ) ? ( mSize + ( mSize > > 1 ) ) : ( BASE_SIZE * 2 ) ; final int [ ] ohashes = mHashes ; final Object [ ] oarray = mArray ; allocArrays ( n ) ; mSize -- ; if ( index > 0 ) { System . arraycopy ( ohashes , 0 , mHashes , 0 , index ) ; System . arraycopy ( oarray , 0 , mArray , 0 , index << 1 ) ; } if ( index < mSize ) { System . arraycopy ( ohashes , index + 1 , mHashes , index , mSize - index ) ; System . arraycopy ( oarray , ( index + 1 ) << 1 , mArray , index << 1 , ( mSize - index ) << 1 ) ; } } else { mSize -- ; if ( index < mSize ) { System . arraycopy ( mHashes , index + 1 , mHashes , index , mSize - index ) ; System . arraycopy ( mArray , ( index + 1 ) << 1 , mArray , index << 1 , ( mSize - index ) << 1 ) ; } mArray [ mSize << 1 ] = null ; mArray [ ( mSize << 1 ) + 1 ] = null ; } } return ( V ) old ; }
target:  Remove the key/value mapping at the given index.