docs: public static MatchResult doMatch(final String requestURI, final String httpMethod) {
          MatchResult ret;
          final int segs = StringUtils.countMatches(requestURI, "/");
          ContextHandlerMeta contextHandlerMeta;
          String concreteKey = httpMethod + "." + requestURI;
          switch (segs) {
              case 1:
                  contextHandlerMeta = ONE_SEG_CONCRETE_CTX_HANDLER_METAS.get(concreteKey);
                  if (null != contextHandlerMeta) {
                      return new MatchResult(contextHandlerMeta, requestURI, httpMethod, requestURI);
                  }
  
                  switch (httpMethod) {
                      case "GET":
                          return route(requestURI, httpMethod, ONE_SEG_GET_VAR_CTX_HANDLER_METAS);
                      case "POST":
                          return route(requestURI, httpMethod, ONE_SEG_POST_VAR_CTX_HANDLER_METAS);
                      case "PUT":
                          return route(requestURI, httpMethod, ONE_SEG_PUT_VAR_CTX_HANDLER_METAS);
                      case "DELETE":
                          return route(requestURI, httpMethod, ONE_SEG_DELETE_VAR_CTX_HANDLER_METAS);
                      default:
                          return route(requestURI, httpMethod, ONE_SEG_OTHER_METHOD_VAR_CTX_HANDLER_METAS);
                  }
              case 2:
                  contextHandlerMeta = TWO_SEG_CONCRETE_CTX_HANDLER_METAS.get(concreteKey);
                  if (null != contextHandlerMeta) {
                      return new MatchResult(contextHandlerMeta, requestURI, httpMethod, requestURI);
                  }
  
                  switch (httpMethod) {
                      case "GET":
                          return route(requestURI, httpMethod, TWO_SEG_GET_VAR_CTX_HANDLER_METAS);
                      case "POST":
                          return route(requestURI, httpMethod, TWO_SEG_POST_VAR_CTX_HANDLER_METAS);
                      case "PUT":
                          return route(requestURI, httpMethod, TWO_SEG_PUT_VAR_CTX_HANDLER_METAS);
                      case "DELETE":
                          return route(requestURI, httpMethod, TWO_SEG_DELETE_VAR_CTX_HANDLER_METAS);
                      default:
                          return route(requestURI, httpMethod, TWO_SEG_OTHER_METHOD_VAR_CTX_HANDLER_METAS);
                  }
              case 3:
                  contextHandlerMeta = THREE_SEG_CONCRETE_CTX_HANDLER_METAS.get(concreteKey);
                  if (null != contextHandlerMeta) {
                      return new MatchResult(contextHandlerMeta, requestURI, httpMethod, requestURI);
                  }
  
                  switch (httpMethod) {
                      case "GET":
                          return route(requestURI, httpMethod, THREE_SEG_GET_VAR_CTX_HANDLER_METAS);
                      case "POST":
                          return route(requestURI, httpMethod, THREE_SEG_POST_VAR_CTX_HANDLER_METAS);
                      case "PUT":
                          return route(requestURI, httpMethod, THREE_SEG_PUT_VAR_CTX_HANDLER_METAS);
                      case "DELETE":
                          return route(requestURI, httpMethod, THREE_SEG_DELETE_VAR_CTX_HANDLER_METAS);
                      default:
                          return route(requestURI, httpMethod, THREE_SEG_OTHER_METHOD_VAR_CTX_HANDLER_METAS);
                  }
              default:
                  contextHandlerMeta = FOUR_MORE_SEG_CONCRETE_CTX_HANDLER_METAS.get(concreteKey);
                  if (null != contextHandlerMeta) {
                      return new MatchResult(contextHandlerMeta, requestURI, httpMethod, requestURI);
                  }
  
                  switch (httpMethod) {
                      case "GET":
                          return route(requestURI, httpMethod, FOUR_MORE_SEG_GET_VAR_CTX_HANDLER_METAS);
                      case "POST":
                          return route(requestURI, httpMethod, FOUR_MORE_SEG_POST_VAR_CTX_HANDLER_METAS);
                      case "PUT":
                          return route(requestURI, httpMethod, FOUR_MORE_SEG_PUT_VAR_CTX_HANDLER_METAS);
                      case "DELETE":
                          return route(requestURI, httpMethod, FOUR_MORE_SEG_DELETE_VAR_CTX_HANDLER_METAS);
                      default:
                          return route(requestURI, httpMethod, FOUR_MORE_SEG_OTHER_METHOD_VAR_CTX_HANDLER_METAS);
                  }
          }
      }