try {
NavigationContext ctx = navigationService.loadNavigation(Util.from(siteId));
if (ctx == null) return null;
return new NavigationImpl(siteId, navigationService, ctx, descriptionService, bundleManager);
} catch (Throwable t) {
throw new ApiException("Failed to load navigation", t);
}
}