docs: protected String getRelativePath(final HttpServletRequest request) {
  		// IMPORTANT: DefaultServlet can be mapped to '/' or '/path/*' but
  		// always
  		// serves resources from the web app root with context rooted paths.
  		// i.e. it can not be used to mount the web app root under a sub-path
  		// This method must construct a complete context rooted path, although
  		// subclasses can change this behaviour.
  
  		// Are we being processed by a RequestDispatcher.include()?
  		if (request.getAttribute(RequestDispatcher.INCLUDE_REQUEST_URI) != null) {
  			String result = (String) request.getAttribute(RequestDispatcher.INCLUDE_PATH_INFO);
  			if (result == null) {
  				result = (String) request.getAttribute(RequestDispatcher.INCLUDE_SERVLET_PATH);
  			} else {
  				result = (String) request.getAttribute(RequestDispatcher.INCLUDE_SERVLET_PATH) + result;
  			}
  			if ((result == null) || (result.equals(""))) {
  				result = "/";
  			}
  			return (result);
  		}
  
  		// No, extract the desired path directly from the request
  		String result = request.getPathInfo();
  		if (result == null) {
  			result = request.getServletPath();
  		} else {
  			result = request.getServletPath() + result;
  		}
  		if ((result == null) || (result.equals(""))) {
  			result = "/";
  		}
  		return (result);
  
  	}