code: def apply_implicit_inheritance(self, hosts):
          
          for prop in ('contacts', 'contact_groups', 'notification_interval',
                       'notification_period', 'resultmodulations', 'business_impact_modulations',
                       'escalations', 'poller_tag', 'reactionner_tag', 'check_period',
                       'business_impact', 'maintenance_period'):
              for serv in self:
                  if hasattr(serv, 'host_name') and not getattr(serv, prop, None):
                      host = hosts.find_by_name(serv.host_name)
                      if host is not None and hasattr(host, prop):
                          logger.debug("Implicit inheritance for %s/%s: %s = %s",
                                       serv.host_name, serv, prop, getattr(host, prop))
                          setattr(serv, prop, getattr(host, prop))
docs: Apply implicit inheritance for special properties:
          contact_groups, notification_interval , notification_period
          So service will take info from host if necessary
  
          :param hosts: hosts list needed to look for a simple host
          :type hosts: alignak.objects.host.Hosts
          :return: None