delist(revisionDescriptorStore);
throw e;
} catch (Throwable t) {
delist(revisionDescriptorStore, false);
// Wrap everything else in a ServiceAccessException
throw new ServiceAccessException
(revisionDescriptorStore, t);
}
delist(revisionDescriptorStore);
} else {
try {
revisionDescriptor =
revisionDescriptorStore.retrieveRevisionDescriptor
(uri, revisionNumber);
} catch (ServiceAccessException e) {
throw e;
} catch (RevisionDescriptorNotFoundException e) {
throw e;
} catch (Throwable t) {
// Wrap everything else in a ServiceAccessException
throw new ServiceAccessException
(revisionDescriptorStore, t);
}
}
revisionDescriptor.validate();
return revisionDescriptor;