Returns an iterator which results are limited to one **task**. The 
        default iterator the one which e.g. will be used in a for loop is the
        iterator for the first task (task =0). The returned iterator is a 
        ``_NuMapTask`` instance.
        
        Compare::

            for result_from_task_0 in imap_instance:
                pass

        with::

            for result_from_task_1 in imap_instance.get_task(task_id =1):
                pass

        a typical use case is::

            task_0_iterator = imap_instance.get_task(task_id =0)
            task_1_iterator = imap_instance.get_task(task_id =1)

            for (task_1_res, task_0_res) in izip(task_0_iterator, task_1_iterator):
                pass

def get_task(self, task=0, timeout=None, block=True):
        """
        Returns an iterator which results are limited to one **task**. The 
        default iterator the one which e.g. will be used in a for loop is the
        iterator for the first task (task =0). The returned iterator is a 
        ``_NuMapTask`` instance.
        
        Compare::

            for result_from_task_0 in imap_instance:
                pass

        with::

            for result_from_task_1 in imap_instance.get_task(task_id =1):
                pass

        a typical use case is::

            task_0_iterator = imap_instance.get_task(task_id =0)
            task_1_iterator = imap_instance.get_task(task_id =1)

            for (task_1_res, task_0_res) in izip(task_0_iterator, task_1_iterator):
                pass
        
        """
        return _NuMapTask(self, task=task, timeout=timeout, block=block)