code: public void addRoute(HttpMethod httpMethod, String path, Object controller, Method method) {
  		// validate signature
  		Class<?>[] paramTypes = method.getParameterTypes();
  		if (paramTypes.length != 2 || !paramTypes[0].equals(Request.class) || !paramTypes[1].equals(Response.class)) {
  			throw new RoutesException("Expecting two params of type com.elibom.jogger.http.Request and com.elibom.jogger.http.Response "
  					+ "respectively");
  		}
  
  		method.setAccessible(true); // to access methods from anonymous classes
  		routes.add(new Route(httpMethod, path, controller, method));
  	}
docs: Creates a {@link Route} object from the received arguments and adds it to the list of routes.
  
  @param httpMethod the HTTP method to which this route is going to respond.
  @param path the path to which this route is going to respond.
  @param controller the object that will be invoked when this route matches.
  @param method the Method that will be invoked when this route matches.