}
//invalid, so remove it (if not updated by others)
synchronized (this) {
if (super.get(src) == ri) super.remove(src);
}
} else if (!lock.waitUntilUnlock(300*1000)) { //5 minute
final PotentialDeadLockException ex =
new PotentialDeadLockException(
"Unable to load from "+src+"\nCause: conflict too long.");
log.warningBriefly(ex); //very rare, possibly a bug
throw ex;