<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fill_default_configuration(self):
 """Fill objects properties with default value if necessary :return: None """

        logger.debug("Filling the unset properties with their default value:")

        types_creations = self.__class__.types_creations
        for o_type in types_creations:
            (_, _, inner_property, _, _) = types_creations[o_type]
            # Not yet for the realms and daemons links
            if inner_property in ['realms', 'arbiters', 'schedulers', 'reactionners',
                                  'pollers', 'brokers', 'receivers']:
                continue
            logger.debug("  . for %s", inner_property,)
            inner_object = getattr(self, inner_property, None)
            if inner_object is None:
                logger.debug("No %s to fill with default values", inner_property)
                continue
            inner_object.fill_default()

        # We have all monitored elements, we can create a default realm if none is defined
        if getattr(self, 'realms', None) is not None:
            self.fill_default_realm()
            self.realms.fill_default()

            # Then we create missing satellites, so no other satellites will be created after
            self.fill_default_satellites(self.launch_missing_daemons)

        types_creations = self.__class__.types_creations
        for o_type in types_creations:
            (_, _, inner_property, _, _) = types_creations[o_type]
            if getattr(self, inner_property, None) is None:
                logger.debug("No %s to fill with default values", inner_property)
                continue
            # Only for the daemons links
            if inner_property in ['schedulers', 'reactionners', 'pollers', 'brokers', 'receivers']:
                logger.debug("  . for %s", inner_property,)
                inner_object = getattr(self, inner_property)
                inner_object.fill_default()

        # Now fill some fields we can predict (like address for hosts)
        self.hosts.fill_predictive_missing_parameters()
        self.services.fill_predictive_missing_parameters()