1 . retrieves the saved value or calculates it if it does not exist 2 . changes isgetnextlastresultuptodate to false . because it does not save the next element now ; it saves the current one ! concode_field_sep boolean flagIsEnumerationStartedEmpty concode_elem_sep int innerFunctorUsageCounter concode_elem_sep NextElementFunctor<E> innerEnum concode_elem_sep E getNextLastResult concode_elem_sep boolean isGetNextLastResultUpToDate concode_elem_sep boolean endOfEnumerationReached concode_field_sep E next concode_elem_sep boolean isEnumerationStartedEmpty concode_elem_sep E getNextElementFromInnerFunctor concode_elem_sep boolean hasMoreElements concode_elem_sep boolean hasNext concode_elem_sep void remove
E function ( ) { E loc0 = null ; if ( this . isGetNextLastResultUpToDate ) { loc0 = this . getNextLastResult ; } else { loc0 = getNextElementFromInnerFunctor ( ) ; } this . isGetNextLastResultUpToDate = false ; return loc0 ; }