Object result = descriptorCache.get(uri + "-" + revisionNumber);
if (result != null) {
return ((NodeRevisionDescriptor) result).cloneObject();
} else {
NodeRevisionDescriptor revisionDescriptor = super.retrieveRevisionDescriptor(uri, revisionNumber);
revisionDescriptor.validate();
descriptorCache.put(uri + "-" + revisionNumber, revisionDescriptor);
return revisionDescriptor.cloneObject();
}
} finally {
if (isForceStoreEnlistment(uri)) {