def METHOD_NAME(self, output=sys.stdout, skipmodal=False, reverse=False,
              count=False):
    self.generate_byoutput()
    modaloutput = None
    ismodal = True
    if reverse:
        outdatalist = sorted(
            self.byoutput, key=lambda x: [len(self.byoutput[x]),
                                          humanify_nodename(
                                              self.get_group_text(
                                                  self.byoutput[x]
                                              ))])
    else:
        outdatalist = sorted(
            self.byoutput, key=lambda x: [0 - len(self.byoutput[x]),
                                          humanify_nodename(
                                              self.get_group_text(
                                                  self.byoutput[x]
                                              ))])
    if reverse and skipmodal:
        # if reversed, the last is biggest and should be skipped if modal
        outdatalist = outdatalist[:-1]
    for outdata in outdatalist:
        if not reverse and skipmodal:
            # If big first, this makes skipmodal skip first
            skipmodal = False
            continue
        currout = '====================================\n'
        currout += self.get_group_text(self.byoutput[outdata])
        currout += '\n====================================\n'
        if count:
            currout += 'Count: {0}'.format(len(list(
                self.byoutput[outdata])))
            currout += '\n====================================\n'
        currout += outdata
        currout += '\n\n'
        output.write(currout)
    output.flush()