# File lib/ruote/dboard/process_status.rb, line 69
    def initialize(context, expressions, sworkitems, errors, schedules, trackers)

      #
      # preparing data

      @expressions = expressions.collect { |e|
        Ruote::Exp::FlowExpression.from_h(context, e)
      }.sort_by { |e|
        e.fei.expid
      }

      @stored_workitems = sworkitems.map { |h| Ruote::Workitem.new(h) }

      @errors = errors.sort! { |a, b| a.fei.expid <=> b.fei.expid }
      @schedules = schedules.sort! { |a, b| a['owner'].sid <=> b['owner'].sid }

      @root_expression = root_expressions.first

      #
      # linking errors and expressions for easy navigation

      @errors.each do |err|
        err.flow_expression = @expressions.find { |fexp| fexp.fei == err.fei }
        err.flow_expression.error = err if err.flow_expression
      end

      @trackers = trackers
    end