code: def get_realms_by_explosion(self, realms):
          
          # If rec_tag is already set, then we detected a loop in the realms hierarchy!
          if getattr(self, 'rec_tag', False):
              self.add_error("Error: there is a loop in the realm definition %s" % self.get_name())
              return None
  
          # Ok, not in a loop, we tag the realm and parse its members
          self.rec_tag = True
  
          # Order realm members list by name
          self.realm_members = sorted(self.realm_members)
          for member in self.realm_members:
              realm = realms.find_by_name(member)
              if not realm:
                  self.add_unknown_members(member)
                  continue
  
              children = realm.get_realms_by_explosion(realms)
              if children is None:
                  # We got a loop in our children definition
                  self.all_sub_members = []
                  self.realm_members = []
                  return None
  
          # Return the list of all unique members
          return self.all_sub_members
docs: Get all members of this realm including members of sub-realms on multi-levels
  
          :param realms: realms list, used to look for a specific one
          :type realms: alignak.objects.realm.Realms
          :return: list of members and add realm to realm_members attribute
          :rtype: list