clone method
An iterator which is a "clone" of the original iterator. Iterating through the original or the clone will not affect the other. Do not modify the original collection the original Iterable is based on while iterating. See CloneRIterator for more information.
Implementation
@override
ChainRIterator<T> clone() {
final newFirst = CloneRIterator._trackable(_first);
final newSecond = CloneRIterator._trackable(_second);
_first = newFirst;
_second = newSecond;
return ChainRIterator(
CloneRIterator._clone(newFirst), CloneRIterator._clone(newSecond))
..isFirst = isFirst;
}