throws DavException {
String txId = request.getTransactionId();
String subscriptionId = request.getSubscriptionId();
String lockToken = request.getLockToken();
DavSession session = null;
// try to retrieve a cached session
if (lockToken != null && containsReference(lockToken)) {
session = getSessionByReference(lockToken);
} else if (txId != null && containsReference(txId)) {
session = getSessionByReference(txId);