def checkDependencies(self):
        ''' Method will check all dependencies of this object.
            self.dependencies is a list containing Task objects, Supervisor
            objects, or unit functions. A call to self.checkDependencies will
            return True if and only if all Task objects in dependencies are
            finished, all Supervisor objects in dependencies are finished, and
            all unit funcitons return True when called.
        '''
        for d in self.dependencies:
            if(isinstance(d, Task) or isinstance(d, Supervisor)):
                try:
                    if(not d.finished()):
                        return False
                except (Task.ExitCodeException, Task.TaskException):
                    return False
            elif(callable(d)):
                if(not d()):
                    return False
            else:
                error_message = (
                    'Unable to check depencies of task {0!1}. \nTask '
                    'dependencies must not conatin anything that is not '
                    'a function or a Task. ').format(self.name)
                raise self.TaskException(error_message)
        return True