# File lib/ruote/exp/fe_iterator.rb, line 160
    def move_on (workitem=h.applied_workitem)

      h.position += 1

      com, arg = get_command(workitem)

      return reply_to_parent(workitem) if com == 'break'

      case com
        when 'rewind', 'continue' then h.position = 0
        when 'skip' then h.position += arg
        when 'jump' then h.position = arg
      end

      h.position = h.list.length + h.position if h.position < 0

      val = h.list[h.position]

      return reply_to_parent(workitem) if val == nil

      (h.variables ||= {})['ii'] = h.position

      if h.to_v
        h.variables[h.to_v] = val
      else #if h.to_f
        workitem['fields'][h.to_f] = val
      end

      apply_child(0, workitem)
        # persist is done in there
    end