private <T> T _loadPage(String serviceUrl, Class<T> type, PageRequestDto pageRequest) throws ContentProviderException {
Localization localization = webRequestContext.getLocalization();
try {
T page = modelServiceClient.getForType(serviceUrl, type,
pageRequest.getUriType(),
pageRequest.getPublicationId() != 0 ? pageRequest.getPublicationId() : localization.getId(),
pageRequest.getPath(),
pageRequest.getIncludePages());
log.trace("Loaded '{}' for localization '{}' and pageRequest '{}'", page, localization, pageRequest);
return page;
} catch (DxaItemNotFoundException e) {
throw new PageNotFoundException("Cannot load page '" + pageRequest + "'", e);
} catch (InternalServerErrorException e) {
throw new ContentProviderException("Cannot load page from model service", e);
}
}