code: def do( self, params ):
          
          N = self.repetitions()
          e = self.experiment()
          results = []
          for i in range(N):
              res = e.run()
  
              # make sure we have a list to traverse
              if not isinstance(res, list):
                  res = [ res ]
  
              # add repetition metadata to each result
              for r in res:
                  r[Experiment.METADATA][self.I] = i 
                  r[Experiment.METADATA][self.REPETITIONS] = N
  
              # add the results to ours
              results.extend(res)
          return results
docs: Perform the number of repetitions we want. The results returned
          will be a list of the results dicts generated by the repeated experiments.
          The metedata for each experiment will include an entry
          :attr:`RepeatedExperiment.REPETITIONS` for the number of
          repetitions that occurred (which will be the length of this list) and
          an entry :attr:`RepeatedExperiment.I` for the index of the result in that
          sequence.
  
          :param params: the parameters to the experiment
          :returns: a list of result dicts