synchronized public BlockTuple getNextToDoAndStart() throws InterruptedException{

		BlockTuple res = null;
		while(toDoList.isEmpty() && !workFinished)
			wait();
		if(workFinished)
			//Schalte Thread aus, arbeit ist vorbei;
			return null;
		//
		while(res == null){
			if(workFinished)
				Thread.currentThread().interrupt();
			for(BlockTuple b : toDoList){
				if(! ( currentlyDoneList.contains(b.getBlockOne())
						|| currentlyDoneList.contains(b.getBlockTwo()))){
					res = b;
					break;
				}		
			}
			if(res == null)
				wait();
		}
		toDoList.remove(res);
		currentlyDoneList.add(res.getBlockOne());
		currentlyDoneList.add(res.getBlockTwo());
		return res;
	}