}
}
} catch (RuntimeException exception) {
// Log the exception if it has not already been logged, or is a non-EclipseLink exception
if (!(exception instanceof EclipseLinkException && ((EclipseLinkException)exception).hasBeenLogged())) {
uow.logThrowable(SessionLog.WARNING, SessionLog.TRANSACTION, exception);
}
handleException(exception);
} finally {
getTransactionController().removeUnitOfWork(getTransactionKey());
this.session.endOperationProfile(SessionProfiler.JtsAfterCompletion);