code: private Object inheritedStrategy(UrlInfo urlInfo, ResponseHelper responseHelper) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException,
  	        InvocationTargetException, InstantiationException {
  		Class<?> clazz = Class.forName(urlInfo.getController());
  		Method setResponseHelper = clazz.getMethod("setResponseHelper", new Class<?>[] { ResponseHelper.class });
  		LOGGER.debug("Instantiating controller {}", clazz.getCanonicalName());
  		Object controllerInstance = clazz.newInstance();
  		LOGGER.debug("Calling {}.setResponseHelper(ResponseHelper)", clazz.getCanonicalName());
  		setResponseHelper.invoke(controllerInstance, responseHelper);
  		Method action = clazz.getMethod(urlInfo.getAction(), new Class[] {});
  		LOGGER.debug("Calling {}.{}()", urlInfo.getController(), urlInfo.getAction());
  		responseHelper.notRenderPage(action);
  		return this.invokeAction(controllerInstance, action, urlInfo);
  	}
docs: Invokes URL's action using INHERIT strategy. It means that controller
  inherits from {@link RestController}, so the framework will inject
  {@link ResponseHelper} to controller by RestAction.setResposeHelper
  method. Furthermore, controller's actions signatures don't have
  arguments.
  
  
  @param urlInfo
  Information of REST's URL.
  @param responseHelper
  ResponseHelper object to inject into the controller.
  
  @throws ClassNotFoundException
  if controller's class doesn't exist.
  @throws NoSuchMethodException
  if doesn't exist a method for action required in the URL.
  @throws IllegalArgumentException
  if controller's method for action has arguments.
  @throws IllegalAccessException
  if the controller or its method are not accessibles-
  @throws InvocationTargetException
  if the controller's method raise an exception.
  @throws InstantiationException
  if it isn't possible to instantiate the controller.