public void myWorkerDone () {
		switch (state) {
		case READCACHEPAGES:
			assert (theWorker.jm.whatToDo.equals(JobType.READCACHEPAGES));
			finishPrefetch(); 
			initScan();
			break;
		case UPDATEPAGES:
			assert (theWorker.jm.whatToDo.equals(JobType.UPDATEPAGES));
			finishScan(); 
			initCheckSavingReq();
			break;
		case CHECKSAVINGREQUIREMENT:
			assert (theWorker.jm.whatToDo.equals(JobType.CHECKSAVINGREQUIREMENT));
			if (theWorker.bulkResults != null)
				// if in bulk mode...
				try {
					getRootNode().updateSavingReqBunch(theWorker.get(), tree);
				} catch (InterruptedException | ExecutionException e) {
					// won't happen as get() is being called from inside of SwingWorker.done() - after job execution is finished
				}
			
			finishCheckSavingReq(); 
			state = UIState.WAIT;
			break;
		case SAVEDATA:
			assert (theWorker.jm.whatToDo.equals(JobType.SAVEDATA));
			finishSaveData(); 
			initCheckSavingReq();
			break;
		default:
			// error state reached
			Main.log(Level.WARNING, "myWorkerDone () -- Error state in GUI.state: " + state.toString());
		}
		
	}