question: public void removeElementAt ( int i ) { if ( null == m_map ) return ; if ( i >= m_firstFree ) throw new ArrayIndexOutOfBoundsException ( i + " >= " + m_firstFree ) ; else if ( i < 0 ) throw new ArrayIndexOutOfBoundsException ( i ) ; if ( i < m_firstFree - 1 ) System . arraycopy ( m_map , i + 1 , m_map , i , m_firstFree - i - 1 ) ; m_firstFree -- ; m_map [ m_firstFree ] = null ; }
target:  Deletes the component at the specified index. Each component in this vector with an index greater or equal to the specified index is shifted downward to have an index one smaller than the value it had previously.