def METHOD_NAME(self):
    if self._is_closed.is_set():
        return
    if self._timer is not None:
        self._timer.cancel()
    token_ttl = self._token.expires_on - get_current_utc_as_int()
    if self._is_token_expiring_soon(self._token):
        # Schedule the next refresh for when it reaches a certain percentage of the remaining lifetime.
        timespan = token_ttl // 2
    else:
        # Schedule the next refresh for when it gets in to the soon-to-expire window.
        timespan = (
            token_ttl
            - timedelta(
                minutes=self._DEFAULT_AUTOREFRESH_INTERVAL_MINUTES
            ).total_seconds()
        )
    self._timer = AsyncTimer(timespan, self._update_token_and_reschedule)
    self._timer.start()