// If not, compute the information. Unless the modification date of the source continues to
// change, this loop will eventually terminate.
//
try {
if (htmlEntry.getState(SourceEntry.CONTENT) != CacheState.VALID) {
htmlEntry = (HtmlEntry) new GetContentTask(this, source).perform(resultRecorder);
}
htmlEntry = (HtmlEntry) new ParseHtmlTask(
this,
source,
htmlEntry.getModificationTime(),