@Override @Transactional(propagation = Propagation.REQUIRED) public Set<BookOnPortalEntity> getBookPortals(int bookId) throws NoSuchEntityException { BookEntity book = bookDao.getNotNull(bookId); try { bookAvailabilityService.isCurrentUsersBook(book); return book.getBookPortals(); } catch (ForbiddenException e) { if (book.getBookPortals() == null || book.getBookPortals().size() == 0) return null; Set<BookOnPortalEntity> list = new HashSet<BookOnPortalEntity>(); for (BookOnPortalEntity portal : book.getBookPortals()) if (BookPortalStatusEnum.ACTIVE.equals(portal.getStatus())) list.add(portal); return list; } }