code: def find_root( self, rows ):
          
          maxes = sorted( rows.values(), key = lambda x: x.cumulative )
          if not maxes:
              raise RuntimeError( """Null results!""" )
          root = maxes[-1]
          roots = [root]
          for key,value in rows.items():
              if not value.parents:
                  log.debug( 'Found node root: %s', value )
                  if value not in roots:
                      roots.append( value )
          if len(roots) > 1:
              root = PStatGroup(
                  directory='*',
                  filename='*',
                  name=_("<profiling run>"),
                  children= roots,
              )
              root.finalize()
              self.rows[ root.key ] = root
          self.roots['functions'] = root
          return root
docs: Attempt to find/create a reasonable root node from list/set of rows
  
          rows -- key: PStatRow mapping
  
          TODO: still need more robustness here, particularly in the case of
          threaded programs.  Should be tracing back each row to root, breaking
          cycles by sorting on cumulative time, and then collecting the traced
          roots (or, if they are all on the same root, use that).