Returns the current element.
null if the iterator has not yet been moved to the first
element, or if the iterator has been moved past the last element of the
current getter should keep its value until the next call to
moveNext, even if an underlying collection changes.
After a successful call to
moveNext, the user doesn't need to cache
the current value, but can keep reading it from the iterator.
T get current => _current;