public synchronized void addMapTask(ArrayDeque<MapTask> task) {
		for (MapTask t : task) {
			MapWorker worker = new MapWorker(t, this, dfs);
			// start a thread to work on task
			Thread thread = new Thread(worker);
			thread.start();
			mapTasks.addLast(t);
		}
	}