docs: private ModelAndView generateSuccessView(final Assertion assertion, final String proxyIou,
                                               final WebApplicationService service, final HttpServletRequest request,
                                               final Optional<MultifactorAuthenticationProvider> contextProvider,
                                               final TicketGrantingTicket proxyGrantingTicket) {
          val modelAndView = serviceValidateConfigurationContext.getValidationViewFactory().getModelAndView(request, true, service, getClass());
          modelAndView.addObject(CasViewConstants.MODEL_ATTRIBUTE_NAME_ASSERTION, assertion);
          modelAndView.addObject(CasViewConstants.MODEL_ATTRIBUTE_NAME_SERVICE, service);
          if (StringUtils.isNotBlank(proxyIou)) {
              modelAndView.addObject(CasViewConstants.MODEL_ATTRIBUTE_NAME_PROXY_GRANTING_TICKET_IOU, proxyIou);
          }
          if (proxyGrantingTicket != null) {
              modelAndView.addObject(CasViewConstants.MODEL_ATTRIBUTE_NAME_PROXY_GRANTING_TICKET, proxyGrantingTicket.getId());
          }
          contextProvider.ifPresent(provider -> modelAndView.addObject(serviceValidateConfigurationContext.getAuthnContextAttribute(), provider.getId()));
          val augmentedModelObjects = augmentSuccessViewModelObjects(assertion);
          modelAndView.addAllObjects(augmentedModelObjects);
          return modelAndView;
      }