code: private List<RouteHandler> routePopulator() {
          // add global filters to all routes
          // currently, they are added AFTER already added filters
          // README create populator class for this behaviour
          filters.forEach(f -> routes.forEach(r -> r.filter(f)));
          beforeFilters.forEach(f -> routes.forEach(r -> r.before(f)));
          afterFilters.forEach(f -> routes.forEach(r -> r.after(f)));
          
          return routes.stream().map(Route.Builder::build).collect(Collectors.toList());
      }
docs: /*private void checkState(boolean expression, String errorMessage) throws IllegalStateException {
  if (!expression) {
  throw new IllegalStateException(errorMessage);
  }
  }