compact the underlying list be removing null elements . should only be called when miterationdepth is zero . concode_field_sep int mListEndMarker concode_elem_sep int mIndex concode_elem_sep int mCount concode_elem_sep int mIterationDepth concode_elem_sep boolean mNeedsCompact concode_elem_sep List<E> mObservers concode_elem_sep boolean mIsExhausted concode_field_sep E next concode_elem_sep E getObserverAt concode_elem_sep boolean addObserver concode_elem_sep void decrementIterationDepthAndCompactIfNeeded concode_elem_sep boolean removeObserver concode_elem_sep void clear concode_elem_sep boolean isEmpty concode_elem_sep boolean hasNext concode_elem_sep boolean hasObserver concode_elem_sep void remove concode_elem_sep int capacity concode_elem_sep Iterator<E> iterator concode_elem_sep RewindableIterator<E> rewindableIterator concode_elem_sep void rewind concode_elem_sep void rewind concode_elem_sep int size concode_elem_sep void compactListIfNeeded concode_elem_sep void incrementIterationDepth
void function ( ) { assert mIterationDepth == 0 ; for ( int loc0 = mObservers . size ( ) - 1 ; loc0 >= 0 ; loc0 -- ) { if ( mObservers . get ( loc0 ) == null ) { mObservers . remove ( loc0 ) ; } } }