def __removeTaskPath__(self, task):
        ''' Helper function that removes tasks that can no longer be executed
            from the sueprvisors list of tasks that need o be executed.
            Basically, anything down stream of task is removed.
        '''
        flag = True
        removed = set([task])
        check_intersection = lambda s, l : any(e in s for e in l)
        while(flag):
            flag = False
            for t in [t for t in self.tasks_to_run]:
                sup_deps = [d for d in t.dependencies if(isinstance(d, Supervisor))]
                sup_checks = [check_intersection(removed, s.tasks) for s in sup_deps]
                if(check_intersection(removed, t.dependencies) or any(sup_checks)):
                    temp = self.task_status[t]
                    self.tasks_to_run.remove(t)
                    removed.add(t)
                    temp['message'] = 'Never Started'
                    temp['state'] = Supervisor.STATE_REMOVED
                    flag = True