class AuthnRequestFromTransactionHandler {

    public void selectIdpForGivenSessionId(SessionId sessionId, IdpSelected idpSelected) {
        IdpSelectingStateController stateController = (IdpSelectingStateController)
                sessionRepository.getStateController(sessionId, IdpSelectingState.class);
        stateController.handleIdpSelected(idpSelected.getSelectedIdpEntityId(), idpSelected.getPrincipalIpAddress(), idpSelected.isRegistration(), idpSelected.getRequestedLoa(), idpSelected.getAnalyticsSessionId(), idpSelected.getJourneyType(), idpSelected.getAbTestVariant());
    }

    @Inject public  AuthnRequestFromTransactionHandler(
            SessionRepository sessionRepository,
            HubEventLogger hubEventLogger,
            PolicyConfiguration policyConfiguration,
            TransactionsConfigProxy transactionsConfigProxy,
            IdGenerator idGenerator);

}