@Override
	public void run() {
		try {
			report("checking cache", 1); // same as in GetPageJob before trying to read cache;
			if (page.loadFromCache()) {
				report("read from cache", 1); // same as in GetPageJob on successful reading cache;
				//note: this iterator does not require locking because of CopyOnWriteArrayList implementation
					for (AbstractPage child: page.childPages)
							jobMaster.submit(new ReadCacheJob(child, jobMaster));
			} else
				report("read cache failed", 1);
		} catch (InterruptedException e) {
		}
	}