@Override
 @ApiMethod(name = "routes.get.query", httpMethod = "post")
 public List<RouteInfo> getRoutesByQuery(@Named("query") String query)
     throws IllegalArgumentException {
   ObjectifyService.begin();
   return routeServiceManager.getRoutes(query);
 }
 @Override
 public List<RouteInfo> saveRoute(
     AgentInfo userInfo, RouteInfo placeInfo, @Named("mode") RouteInfo.SaveMode mode)
     throws IllegalArgumentException {
   ObjectifyService.begin();
   return routeServiceManager.saveRoute(userInfo, placeInfo, mode);
 }
 @Override
 // @ApiMethod(name = "route.delete", httpMethod = "post")
 public List<RouteInfo> deleteRoute(AgentInfo userInfo, RouteInfo placeInfo)
     throws IllegalArgumentException {
   ObjectifyService.begin();
   return routeServiceManager.deleteRoute(userInfo, placeInfo);
 }
 @Override
 public List<RouteInfo> getRoutesByAgent(AgentInfo userInfo) throws IllegalArgumentException {
   ObjectifyService.begin();
   return routeServiceManager.getRoutes(userInfo);
 }
 // @ApiMethod(name = "routes.reset", httpMethod = "post")
 @Override
 public void resetRoutes() throws IllegalArgumentException {
   routeServiceManager.resetCache();
 }
 @Override
 public RouteInfo getRoute(@Named("id") Long routeId) throws IllegalArgumentException {
   return routeServiceManager.getRoute(routeId).getInfo();
 }