code: private void handle(final Request request, final Response response, final List<Middleware> middlewares) throws Exception {
  		if (middlewares.isEmpty()) {
  			throw new NotFoundException();
  		}
  		
  		Middleware current = middlewares.remove(0);
  		current.handle(request, response, new MiddlewareChain() {
  			@Override
  			public void next() throws Exception {
  				// recursive call
  				handle(request, response, middlewares);
  			}
  		});
  	}
docs: Helper method. Creates a {@link MiddlewareChain} implementation to recursively call the middlewares.
  
  @param request
  @param response
  @param middlewares
  @throws Exception