protected void dealWith( String urn ) {
			boolean success = false;
			try {
				if( (success = cache(urn)) ) cacheRecurse(urn);
			} catch( MalformedURLException e ) {
				e.printStackTrace();
			} catch( InterruptedException e ) {
				Thread.currentThread().interrupt();
			} finally {
				enqueuedAndInProgressUrns.remove(urn);
				if( !success ) {
					failCount.incrementAndGet();
					if( reportFailures ) {
						System.err.println("Couldn't find "+urn);
					}
				}
			}
		}