final int discoPort, final int putPort, final File discoData, final File ddfsData, final File jobFile) {
// TODO use all these other task arguments to optimize input fetching.
switch (taskMode) {
case map:
map = new DiscoMapTask(discoIOChannel, jobName, taskId, discoPort);
break;
case reduce:
reduce = new DiscoReduceTask(discoIOChannel, jobName, taskId, discoPort);
break;
}