code: def duplicateAnalysis(analysis):
      
      ar = analysis.aq_parent
      kw = analysis.getKeyword()
      # Rename the analysis to make way for it's successor.
      # Support multiple duplicates by renaming to *-0, *-1, etc
      cnt = [x for x in ar.objectValues("Analysis") if x.getId().startswith(kw)]
      a_id = "{0}-{1}".format(kw, len(cnt))
      dup = create_analysis(ar, analysis, id=a_id, Retested=True)
      return dup
docs: Duplicate an analysis consist on creating a new analysis with
      the same analysis service for the same sample. It is used in
      order to reduce the error procedure probability because both
      results must be similar.
      :base: the analysis object used as the creation base.