def workitems

      @expressions.select { |fexp|
        #fexp.is_a?(Ruote::Exp::ParticipantExpression)
        fexp.h.name == 'participant'
      }.collect { |fexp|
        Ruote::Workitem.new(fexp.h.applied_workitem)
      }
    end
def workitems

      @expressions.select { |fexp|
        #fexp.is_a?(Ruote::Exp::ParticipantExpression)
        fexp.h.name == 'participant'
      }.collect { |fexp|
        Ruote::Workitem.new(fexp.h.applied_workitem)
      }
    end
Returns a list of the workitems currently 'out' to participants

 For example, with an instance of

   Ruote.process_definition do
     concurrence do
       alpha :task => 'clean car'
       bravo :task => 'sell car'
     end
   end

 calling engine.process(wfid).workitems will yield two workitems
 (alpha and bravo).

 Warning : do not confuse the workitems here with the workitems held
 in a storage participant or equivalent. The workitem returned here
 are the workitems as they were right before being sent out to the
 participant.

 Note: the workitems handed out here are not "workitem documents",
 they are extracted from the 'participant' expressions in the
 expression trees not from the stored workitems lot, they cannot
 be updated/proceeded via a storage participant. Consider them
 "read only".