code: def conglomerate(messages, subject=None, lexers=False, **config):
      
  
      # First, give every registered processor a chance to do its work
      for processor in processors:
          messages = processor.conglomerate(messages, subject=subject, **config)
  
      # Then, just fake it for every other ungrouped message.
      for i, message in enumerate(messages):
          # If these were successfully grouped, then skip
          if 'msg_ids' in message:
              continue
  
          # For ungrouped ones, replace them with a fake conglomerate
          messages[i] = BaseConglomerator.produce_template(
              [message], subject=subject, lexers=lexers, **config)
          # And fill out the fields that fully-implemented conglomerators would
          # normally fill out.
          messages[i].update({
              'link': msg2link(message, **config),
              'subtitle': msg2subtitle(message, **config),
              'subjective': msg2subjective(message, subject=subject, **config),
              'secondary_icon': msg2secondary_icon(message, **config),
          })
  
      return messages
docs: Return a list of messages with some of them grouped into conglomerate
      messages.  Conglomerate messages represent several other messages.
  
      For example, you might pass this function a list of 40 messages.
      38 of those are git.commit messages, 1 is a bodhi.update message, and 1 is
      a badge.award message.  This function could return a list of three
      messages, one representing the 38 git commit messages, one representing the
      bodhi.update message, and one representing the badge.award message.
  
      The ``subject`` argument is optional and will return "subjective"
      representations if possible (see msg2subjective(...)).
  
      Functionality is provided by fedmsg.meta plugins on a "best effort" basis.