def list=(pl)

      list = get_list

      list['list'] = pl.collect { |e|
        ParticipantEntry.read(e)
      }.collect { |e|
        e[0] = e[0].source if e[0].is_a?(Regexp)
        e
      }

      if r = @context.storage.put(list)
        #
        # put failed, have to redo it
        #
        self.list=(pl)
      end
    end
def list=(pl)

      list = get_list

      list['list'] = pl.collect { |e|
        ParticipantEntry.read(e)
      }.collect { |e|
        e[0] = e[0].source if e[0].is_a?(Regexp)
        e
      }

      if r = @context.storage.put(list)
        #
        # put failed, have to redo it
        #
        self.list=(pl)
      end
    end
Used by Engine#participant_list=

 Takes as input an array of ParticipantEntry instances and updates
 this participant list with it.

 See ParticipantList#list