def METHOD_NAME(self, connection: EventWebsocketProtocol) -> None:
    """
    Sends the next expected event to a connection, if it can receive the next event, and the event exists.
    Will recurse asynchronously trying to send new events to the connection until it cannot receive more events.
    """
    next_event_id = connection.next_expected_event_id()
    if not connection.can_receive_event(next_event_id):
        return
    if event := self._event_storage.get_event(next_event_id):
        self._send_event_to_connection(connection, event)
        self._reactor.callLater(0, self.METHOD_NAME, connection)