@Override
	public void run() {
		try {
		if (page.isSavingNotRequired()) 
			report("saving not required", 1); 
		else
			report("saving required", 0);
			
		if (recurse)
			//note: this iterator does not require locking because of CopyOnWriteArrayList implementation
			for (AbstractPage child: page.childPages)
				jobMaster.submit(new CheckSavingJob(child, jobMaster, true));
		} catch (InterruptedException e) {
		}
	}