docs: @Override
      public String getServletPath() {
  
          // unwrap the request to prevent multiple unneeded attempts to generate missing JSP files
          // m_controller.getTopRequest() does not return the right request here when forwarding
          // this method is generally called exactly once per request on different servlet containers
          // only resin calls it twice
          ServletRequest req = getRequest();
          while (req instanceof CmsFlexRequest) {
              req = ((CmsFlexRequest)req).getRequest();
          }
          String servletPath = null;
          if (req instanceof HttpServletRequest) {
              servletPath = ((HttpServletRequest)req).getServletPath();
          } else {
              servletPath = super.getServletPath();
          }
          // generate missing JSP file
          CmsJspLoader jspLoader = getJspLoader();
          if (jspLoader != null) {
              jspLoader.updateJspFromRequest(servletPath, this);
          }
          return servletPath;
      }