}
} else {
// call this method again because there may have been no beforeCompletion call
// if case transaction is to be rolled back.
getSession().releaseJTSConnection();
uow.afterExternalTransactionRollback();
}
} 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);