docs: def check(self):
          """
          Check if the detector changed and call sync() accordingly.
  
          If the sleep time has elapsed, this method will see if the attached
          detector has had a state change and call sync() accordingly.
          """
          if self.needs_check():
              if self.has_state_changed():
                  LOG.debug("state changed, syncing...")
                  self.sync()
              elif self.needs_sync():
                  LOG.debug("forcing sync after %s seconds",
                            self.forceipchangedetection_sleep)
                  self.lastforce = time.time()
                  self.sync()
              else:
                  # nothing to be done
                  pass