# File lib/ruote/exp/fe_once.rb, line 156
    def reply(workitem)

      return reply_to_parent(workitem) if h.triggered

      t = attribute(:test) || attribute_text

      if Condition.true?(t)

        h.triggered = true

        @context.storage.delete_schedule(h.schedule_id)
          # especially for a cron...

        if tree_children[0] # trigger first child

          apply_child(0, workitem)

        else # blocking case

          reply_to_parent(workitem)
        end

      else

        reschedule
      end
    end