/**
   * Sets up a route controller based on a request userInfo that came from routeForMethodAndPath.
   *
   * @param controller the controller to setup
   * @param userInfo the request userInfo
   */
  public void setupRouteControllerFromUserInfo(
      ERXRouteController controller, NSDictionary<String, Object> userInfo) {
    controller._setRequestHandler(this);

    if (userInfo != null) {
      ERXRoute route = (ERXRoute) userInfo.objectForKey(ERXRouteRequestHandler.RouteKey);
      controller._setRoute(route);
      @SuppressWarnings("unchecked")
      NSDictionary<ERXRoute.Key, String> keys =
          (NSDictionary<ERXRoute.Key, String>)
              userInfo.objectForKey(ERXRouteRequestHandler.KeysKey);
      controller._setRouteKeys(keys);
    }
  }
 @Override
 public void _putComponentsToSleepInContext(WOContext wocontext) {
   super._putComponentsToSleepInContext(wocontext);
   ERXRouteController._disposeControllersForRequest(wocontext.request());
 }