'Returns an OrderedSet of all of a target\'s dependencies, recursively.'

def DeepDependencies(self, dependencies=None):

    if (dependencies is None):
        dependencies = OrderedSet()
    for dependency in self.dependencies:
        if (dependency.ref is None):
            continue
        if (dependency.ref not in dependencies):
            dependency.DeepDependencies(dependencies)
            dependencies.add(dependency.ref)
    return dependencies
