def pause(wi_or_fei_or_wfid, opts={})

      opts = Ruote.keys_to_s(opts)

      raise ArgumentError.new(
        ':breakpoint option only valid when passing a workitem or a fei'
      ) if opts['breakpoint'] and wi_or_fei_or_wfid.is_a?(String)

      do_misc('pause', wi_or_fei_or_wfid, opts)
    end
def pause(wi_or_fei_or_wfid, opts={})

      opts = Ruote.keys_to_s(opts)

      raise ArgumentError.new(
        ':breakpoint option only valid when passing a workitem or a fei'
      ) if opts['breakpoint'] and wi_or_fei_or_wfid.is_a?(String)

      do_misc('pause', wi_or_fei_or_wfid, opts)
    end
Given a wfid, will [attempt to] pause the corresponding process instance.
 Given an expression id (fei) will [attempt to] pause the expression
 and its children.

 The only known option for now is :breakpoint => true, which lets
 the engine only pause the targetted expression.


 == fei and :breakpoint => true

 By default, pausing an expression will pause that expression and
 all its children.

   engine.pause(fei, :breakpoint => true)

 will only flag as paused the given fei. When the children of that
 expression will reply to it, the execution for this branch of the
 process will stop, much like a break point.