def METHOD_NAME(self):
    """
    Is self.session accessible via public API (reaction request flow).
    """
    # Check general access rules.
    super().METHOD_NAME()
    # Check rection request flow specific rules
    signal = self.session._signal
    # Check that a signal is associated with this session
    if signal is None:
        msg = f'Session {self.session.uuid} is not associated with a Signal.'
        logger.warning(msg, stack_info=True)
        raise SessionInvalidated(msg)
    # Make sure that the signal is in state REACTIE_GEVRAAGD.
    if signal.status.state != workflow.REACTIE_GEVRAAGD:
        msg = f'Session {self.session.uuid} is invalidated, associated signal not in state REACTIE_GEVRAAGD.'
        logger.warning(msg, stack_info=True)
        raise SessionInvalidated(msg)
    # Make sure that only the most recent Session and associated
    # Questionnaire and Question can be answered:
    most_recent_session = Session.objects.filter(
        _signal=signal, questionnaire__flow=Questionnaire.REACTION_REQUEST).order_by('created_at').last()
    if most_recent_session.uuid != self.session.uuid:
        msg = f'Session {self.session.uuid} is invalidated, a newer reaction request was issued.'
        raise SessionInvalidated(msg)