     until @position.compare(position) >= 0
       lastPosition = @position
       lastSourcePosition = @sourcePosition
-      {value, done} = @next()
+      {done} = @next()
       return if done
 
     if @clipping? and @position.compare(position) > 0

          @sourcePosition = lastSourcePosition
          return

    if @position.compare(position) != 0 and lastPosition?
      overshoot = position.traversalFrom(lastPosition)
      lastSourcePosition = lastSourcePosition.traverse(overshoot)


      switch clip
        when CLIP_FORWARD
          return
        when CLIP_BACKWARD
          @position = lastPosition
          @sourcePosition = lastSourcePosition
          return

    unless @sourcePosition.compare(position) is 0
      overshoot = position.traversalFrom(lastSourcePosition)
      lastPosition = lastPosition.traverse(overshoot)
      @position = lastPosition
