private void createPasswordResetFlow() {
        val flow = getLoginFlow();
        if (flow != null) {
            val state = getState(flow, CasWebflowConstants.STATE_ID_VIEW_LOGIN_FORM, ViewState.class);
            createTransitionForState(state, CasWebflowConstants.TRANSITION_ID_FORGOT_USERNAME,
                CasWebflowConstants.STATE_ID_FORGOT_USERNAME_ACCT_INFO);

            val usernameInfo = createViewState(flow, CasWebflowConstants.STATE_ID_FORGOT_USERNAME_ACCT_INFO,
                "forgot-username/casForgotUsernameSendInfoView");
            createTransitionForState(usernameInfo, "findUsername",
                CasWebflowConstants.STATE_ID_SEND_FORGOT_USERNAME_INSTRUCTIONS);

            val sendUsernameInst = createActionState(flow, CasWebflowConstants.STATE_ID_SEND_FORGOT_USERNAME_INSTRUCTIONS,
                CasWebflowConstants.ACTION_ID_SEND_FORGOT_USERNAME_INSTRUCTIONS_ACTION);

            createTransitionForState(sendUsernameInst, CasWebflowConstants.TRANSITION_ID_SUCCESS,
                CasWebflowConstants.STATE_ID_SENT_FORGOT_USERNAME_ACCT_INFO);
            createTransitionForState(sendUsernameInst, CasWebflowConstants.TRANSITION_ID_ERROR, usernameInfo.getId());
            createViewState(flow, CasWebflowConstants.STATE_ID_SENT_FORGOT_USERNAME_ACCT_INFO,
                "forgot-username/casForgotUsernameSentInfoView");
        }
    }
This is {@link ForgotUsernameWebflowConfigurer}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-pm-webflow/src/main/java/org/apereo/cas/pm/web/flow/ForgotUsernameWebflowConfigurer.java