code: def explode(self):
          
          # We do not want a same hg to be explode again and again
          # so we tag it
          for tmp_cg in list(self.items.values()):
              tmp_cg.already_exploded = False
  
          for contactgroup in list(self.items.values()):
              if contactgroup.already_exploded:
                  continue
  
              # get_contacts_by_explosion is a recursive
              # function, so we must tag hg so we do not loop
              for tmp_cg in list(self.items.values()):
                  tmp_cg.rec_tag = False
              contactgroup.get_contacts_by_explosion(self)
  
          # We clean the tags
          for tmp_cg in list(self.items.values()):
              if hasattr(tmp_cg, 'rec_tag'):
                  del tmp_cg.rec_tag
              del tmp_cg.already_exploded
docs: Fill members with contactgroup_members
  
          :return:None