protected void ensureSizeOfIndex ( int namespaceID , int LocalNameID ) { if ( null == m_elemIndexes ) { m_elemIndexes = new int [ namespaceID + 20 ] [ ] [ ] ; } else if ( m_elemIndexes . length <= namespaceID ) { int [ ] [ ] [ ] indexes = m_elemIndexes ; m_elemIndexes = new int [ namespaceID + 20 ] [ ] [ ] ; System . arraycopy ( indexes , 0 , m_elemIndexes , 0 , indexes . length ) ; } int [ ] [ ] localNameIndex = m_elemIndexes [ namespaceID ] ; if ( null == localNameIndex ) { localNameIndex = new int [ LocalNameID + 100 ] [ ] ; m_elemIndexes [ namespaceID ] = localNameIndex ; } else if ( localNameIndex . length <= LocalNameID ) { int [ ] [ ] indexes = localNameIndex ; localNameIndex = new int [ LocalNameID + 100 ] [ ] ; System . arraycopy ( indexes , 0 , localNameIndex , 0 , indexes . length ) ; m_elemIndexes [ namespaceID ] = localNameIndex ; } int [ ] elemHandles = localNameIndex [ LocalNameID ] ; if ( null == elemHandles ) { elemHandles = new int [ 128 ] ; localNameIndex [ LocalNameID ] = elemHandles ; elemHandles [ 0 ] = 1 ; } else if ( elemHandles . length <= elemHandles [ 0 ] + 1 ) { int [ ] indexes = elemHandles ; elemHandles = new int [ elemHandles [ 0 ] + 1024 ] ; System . arraycopy ( indexes , 0 , elemHandles , 0 , indexes . length ) ; localNameIndex [ LocalNameID ] = elemHandles ; } }
Ensure that the size of the element indexes can hold the information .