try {
int valid = this.validity == null? SourceValidity.INVALID: this.validity.isValid();
if (valid != SourceValidity.VALID) {
// Saved validity is not valid, get new source and validity
resolver = (SourceResolver) this.manager.lookup(SourceResolver.ROLE);
source = resolver.resolveURI(sourceURL);
SourceValidity sourceValidity = source.getValidity();
if (valid == SourceValidity.INVALID || this.validity.isValid(sourceValidity) != SourceValidity.VALID) {
HashMap values = new HashMap();
SourceUtil.toSAX(source, new SAXContentHandler(values));
this.validity = sourceValidity;