docs: @RequestMapping(
              headers = {"org.apereo.portal.url.UrlType=ACTION"},
              method = RequestMethod.POST)
      public void actionRequest(HttpServletRequest request, HttpServletResponse response)
              throws IOException {
  
          final IPortalRequestInfo portalRequestInfo =
                  this.urlSyntaxProvider.getPortalRequestInfo(request);
          final IPortletRequestInfo portletRequestInfo =
                  portalRequestInfo.getTargetedPortletRequestInfo();
  
          final IPortalUrlBuilder actionRedirectUrl;
          if (portletRequestInfo != null) {
              final IPortletWindowId targetWindowId = portletRequestInfo.getPortletWindowId();
              actionRedirectUrl =
                      this.portalUrlProvider.getPortalUrlBuilderByPortletWindow(
                              request, targetWindowId, UrlType.RENDER);
          } else {
              final String targetedLayoutNodeId = portalRequestInfo.getTargetedLayoutNodeId();
  
              if (targetedLayoutNodeId != null) {
                  actionRedirectUrl =
                          this.portalUrlProvider.getPortalUrlBuilderByLayoutNode(
                                  request, targetedLayoutNodeId, UrlType.RENDER);
              } else {
                  actionRedirectUrl = this.portalUrlProvider.getDefaultUrl(request);
              }
          }
  
          // Stuff the action-redirect URL builder into the request so other code can use it during
          // request processing
          this.portalUrlProvider.convertToPortalActionUrlBuilder(request, actionRedirectUrl);
  
          if (portletRequestInfo != null) {
              final IPortletWindowId targetWindowId = portletRequestInfo.getPortletWindowId();
  
              try {
                  this.portletExecutionManager.doPortletAction(targetWindowId, request, response);
              } catch (RuntimeException e) {
                  this.logger.error(
                          "Exception thrown while executing portlet action for: "
                                  + portletRequestInfo,
                          e);
  
                  // TODO this should be a constant right?
                  actionRedirectUrl.setParameter("portletActionError", targetWindowId.toString());
              }
          }
  
          sendRedirect(actionRedirectUrl, response);
      }