code: private static <V> Router<V> defaultRouter(Iterable<V> values,
                                                 Function<V, PathMapping> pathMappingResolver,
                                                 BiConsumer<PathMapping, PathMapping> rejectionHandler) {
          return new CompositeRouter<>(routers(values, pathMappingResolver, rejectionHandler),
                                       Function.identity());
      }
docs: Returns the default implementation of {@link Router}. It consists of several router implementations
  which use one of Trie and List. Consecutive {@link ServiceConfig}s would be grouped according to whether
  it is able to produce trie path string or not while traversing the list, then each group would be
  transformed to a {@link Router}.