private Either<RenderError, List<DetailLine>> renderDetailRowsWithTransaction(final List<DetailsHeading> headings,
final List<ExtractedDetails> pagedDetailLines,
final boolean requireAsyncRenderSafe,
final boolean isPaginated,
final String outputType,
final ConfluenceUser currentUser) {
try {
AuthenticatedUserThreadLocal.set(currentUser);
return transactionTemplate.execute(() -> renderDetailRows(headings, pagedDetailLines, requireAsyncRenderSafe, isPaginated, outputType));
} catch (Exception e) {
log.error("Transaction error occurred when rendering the page property report.", e);
return right(new ArrayList<>());
}
}