public ModelAndView showPage(@PathVariable("branchId") long branchId,
@RequestParam(value = PAGE, defaultValue = "1", required = false) String page
) throws NotFoundException {
branchService.checkIfBranchExists(branchId);
Branch branch = branchService.get(branchId);
Page<Topic> topicsPage = topicFetchService.getTopics(branch, page);
lastReadPostService.fillLastReadPostForTopics(topicsPage.getContent());
JCUser currentUser = userService.getCurrentUser();
List<Breadcrumb> breadcrumbs = breadcrumbBuilder.getForumBreadcrumb(branch);
return new ModelAndView("topic/topicList")
.addObject("viewList", locationService.getUsersViewing(branch))
.addObject("branch", branch)
.addObject("topicsPage", topicsPage)
.addObject("breadcrumbList", breadcrumbs)
.addObject("topicTypes", getTopicTypes(branchId))
.addObject("subscribed", branch.getSubscribers().contains(currentUser));
}