public RouteResult<T> route(HttpMethod method, String path) {
        return route(method, path, Collections.emptyMap());
    }
@Test
    void testOrder() {
        RouteResult<String> routed1 = router.route(GET, "/articles/new");
        assertThat(routed1.target()).isEqualTo("new");
        assertThat(routed1.pathParams()).isEmpty();

        RouteResult<String> routed2 = router.route(GET, "/articles/123");
        assertThat(routed2.target()).isEqualTo("show");
        assertThat(routed2.pathParams()).hasSize(1);
        assertThat(routed2.pathParams().get("id")).isEqualTo("123");

        RouteResult<String> routed3 = router.route(GET, "/notfound");
        assertThat(routed3.target()).isEqualTo("404");
        assertThat(routed3.pathParams()).isEmpty();

        RouteResult<String> routed4 = router.route(GET, "/articles/overview");
        assertThat(routed4.target()).isEqualTo("overview");
        assertThat(routed4.pathParams()).isEmpty();

        RouteResult<String> routed5 = router.route(GET, "/articles/overview/detailed");
        assertThat(routed5.target()).isEqualTo("detailed");
        assertThat(routed5.pathParams()).isEmpty();
    }