prior to call this method , call hasnext once ! concode_field_sep TypeSerializer<E> serializer concode_elem_sep boolean iteratorAvailable concode_elem_sep E reuse concode_elem_sep TypeSerializer<E> serializer concode_elem_sep TypeComparator<E> comparator concode_elem_sep boolean done concode_elem_sep boolean lookAheadHasNext concode_elem_sep TypeComparator<E> comparator concode_elem_sep E lookahead concode_elem_sep MutableObjectIterator<E> iterator concode_elem_sep E current concode_elem_sep E staging concode_elem_sep ValuesIterator valuesIterator concode_elem_sep boolean currentIsUnconsumed concode_field_sep Iterator<E> iterator concode_elem_sep ValuesIterator getValues concode_elem_sep TypeComparator<E> getComparatorWithCurrentReference concode_elem_sep boolean hasNext concode_elem_sep boolean nextKey concode_elem_sep E getCurrent concode_elem_sep void remove
E function ( ) { if ( this . currentIsUnconsumed || hasNext ( ) ) { this . currentIsUnconsumed = false ; return ReusingKeyGroupedIterator . this . current ; } else { throw new NoSuchElementException ( ) ; } }