#130 Change behaviour of iterator so that expiry can occur between hasNext() and next()