Object result = null;
if (this.objectCache == null)
init();
CacheEntry cacheEntry = (CacheEntry) this.objectCache.get(key);
if (cacheEntry != null) {
SourceValidity previous = cacheEntry.validity;
Source source = null;
switch (previous.isValid()) {
case SourceValidity.VALID:
result = cacheEntry.object;
break;
case SourceValidity.UNKNOWN:
source = resolver.resolveURI(uri);
SourceValidity fresh = source.getValidity();
switch (previous.isValid(fresh)){
case SourceValidity.VALID:
result = cacheEntry.object;
break;
case SourceValidity.UNKNOWN: