# File lib/ruote/exp/flow_expression.rb, line 775
    def do_fail(msg)

      @h['state'] = 'failing'
      @h['applied_workitem'] = msg['workitem']

      if h.children.size < 1

        reply_to_parent(@h['applied_workitem'])

      else

        flavour = msg['immediate'] ? 'kill' : nil

        persist_or_raise

        h.children.each do |i|
          @context.storage.put_msg('cancel', 'fei' => i, 'flavour' => flavour)
        end
      end
    end