Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
The current subiterator implementation starts by copying into a list all the valid values of the iterator; it then iterates over this.
Change this to avoid copying in many cases. Do the copying (converting to a list form of only valid FSs, and the previous implementation did) only when required (to support moveTo(FS) with unambiguous, reverse movement with ambiguous, moveToLast (for all styles). After conversion, the iterator will work as in the previous implementation, including not supporting ConcurrentModificationException (CME) signalling; before conversion, CME is supported (this is a behavior change).