<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def explode(self):
 """ Get services and put them in members container :return: None """

        # We do not want a same service group to be exploded again and again
        # so we tag it
        for tmp_sg in list(self.items.values()):
            tmp_sg.already_exploded = False

        for servicegroup in list(self.items.values()):
            if servicegroup.already_exploded:
                continue

            # get_services_by_explosion is a recursive
            # function, so we must tag hg so we do not loop
            for tmp_sg in list(self.items.values()):
                tmp_sg.rec_tag = False
            servicegroup.get_services_by_explosion(self)

        # We clean the tags
        for tmp_sg in list(self.items.values()):
            if hasattr(tmp_sg, 'rec_tag'):
                del tmp_sg.rec_tag
            del tmp_sg.already_exploded