code: def start_health_check(self, recipient):
          
          if recipient not in self.addresses_events:
              self.whitelist(recipient)  # noop for now, for compatibility
              ping_nonce = self.nodeaddresses_to_nonces.setdefault(
                  recipient,
                  {'nonce': 0},  # HACK: Allows the task to mutate the object
              )
  
              events = healthcheck.HealthEvents(
                  event_healthy=Event(),
                  event_unhealthy=Event(),
              )
  
              self.addresses_events[recipient] = events
  
              greenlet_healthcheck = gevent.spawn(
                  healthcheck.healthcheck,
                  self,
                  recipient,
                  self.event_stop,
                  events.event_healthy,
                  events.event_unhealthy,
                  self.nat_keepalive_retries,
                  self.nat_keepalive_timeout,
                  self.nat_invitation_timeout,
                  ping_nonce,
              )
              greenlet_healthcheck.name = f'Healthcheck for {pex(recipient)}'
              greenlet_healthcheck.link_exception(self.on_error)
              self.greenlets.append(greenlet_healthcheck)
docs: Starts a task for healthchecking `recipient` if there is not
          one yet.
  
          It also whitelists the address