docs: def pivot(self, md5, tag=''):
          """Pivot on an md5 (md5 can be a single sample or a sample_set)
              Args:
                  md5: The md5 can be a single sample or a sample_set
                  tags (optional): a tag for the sample (for the prompt)
              Returns:
                  Nothing but it's sets the active sample/sample_set
          """
  
          # Is the md5 a tag?
          ss = self.workbench.generate_sample_set(md5)
          if ss:
              tag = md5 if not tag else tag
              md5 = ss
  
          # Is the md5 a sample_set?
          if self.workbench.is_sample_set(md5):
  
              # Is the sample_set one sample?
              ss = self.workbench.get_sample_set(md5)
              if len(ss) == 1:
                  md5 = ss[0]
              deco = '(%s:%d)' % (tag, len(ss))
              self.ipshell.push({'prompt_deco': deco})
          else:
              deco = '(%s:1)' % tag
              self.ipshell.push({'prompt_deco': deco})
  
          # Set the new md5
          self.session.md5 = md5
          self.session.short_md5 = md5[:6]
          self.ipshell.push({'md5': self.session.md5})
          self.ipshell.push({'short_md5': self.session.short_md5})