code: public Status route(final CharSequence method, final CharSequence path, final Result<T> result) {
      result.captor.optionalTrailingSlash(optionalTrailingSlash);
      final RouteTarget<T> route = trie.lookup(path, result.captor);
      if (route == null) {
        return result.notFound().status();
      }
      final Target<T> target = route.lookup(method);
      if (target == null) {
        return result.notAllowed(route).status();
      }
      return result.success(path, route, target).status();
  
    }
docs: Route a request.
  
  @param method The request method. E.g. {@code GET, PUT, POST, DELETE}, etc.
  @param path   The request path. E.g. {@code /foo/baz/bar}.
  @param result A {@link Result} for storing the routing result, target and captured parameters.
  The {@link Result} should have enough capacity to store all captured parameters.
  See {@link #result()}.
  @return Routing status. {@link Status#SUCCESS} if an endpoint and matching method was found.
  {@link Status#NOT_FOUND} if the endpoint could not be found, {@link Status#METHOD_NOT_ALLOWED}
  if the endpoint was found but the method did not match.