docs: protected String getScriptUri(HttpServletRequest request) {
          /*
           * Log some debug information for https://issues.apache.org/jira/browse/GROOVY-861
           */
          if (logGROOVY861) {
              log("Logging request class and its class loader:");
              log(" c = request.getClass() :\"" + request.getClass() + "\"");
              log(" l = c.getClassLoader() :\"" + request.getClass().getClassLoader() + "\"");
              log(" l.getClass()           :\"" + request.getClass().getClassLoader().getClass() + "\"");
              /*
               * Keep logging, if we're verbose. Else turn it off.
               */
              logGROOVY861 = verbose;
          }
  
          //
          // NOTE: This piece of code is heavily inspired by Apaches Jasper2!
          // 
          // http://cvs.apache.org/viewcvs.cgi/jakarta-tomcat-jasper/jasper2/ \
          //        src/share/org/apache/jasper/servlet/JspServlet.java?view=markup
          //
          // Why doesn't it use request.getRequestURI() or INC_REQUEST_URI?
          //
  
          String uri = null;
          String info = null;
  
          //
          // Check to see if the requested script/template source file has been the
          // target of a RequestDispatcher.include().
          //
          uri = (String) request.getAttribute(INC_SERVLET_PATH);
          if (uri != null) {
              //
              // Requested script/template file has been target of 
              // RequestDispatcher.include(). Its path is assembled from the relevant
              // javax.servlet.include.* request attributes and returned!
              //
              info = (String) request.getAttribute(INC_PATH_INFO);
              if (info != null) {
                  uri += info;
              }
              return applyResourceNameMatcher(uri);
          }
  
          //
          // Requested script/template file has not been the target of a 
          // RequestDispatcher.include(). Reconstruct its path from the request's
          // getServletPath() and getPathInfo() results.
          //
          uri = request.getServletPath();
          info = request.getPathInfo();
          if (info != null) {
              uri += info;
          }
  
          /*
           * TODO : Enable auto ".groovy" extension replacing here!
           * http://cvs.groovy.codehaus.org/viewrep/groovy/groovy/groovy-core/src/main/groovy/servlet/GroovyServlet.java?r=1.10#l259
           */
  
          return applyResourceNameMatcher(uri);
      }