on the first call returns this object which is also an iterator . on subsequent calls throws an exception since new iterators can not be generated . concode_field_sep boolean iterated concode_field_sep void close concode_elem_sep void remove
Iterator < T > function ( ) { if ( iterated ) { throw new IllegalStateException ( "srini_string" ) ; } else { iterated = true ; return this ; } }