def METHOD_NAME(self, src: str) -> Set[str]:
    """Returns a set of nodes that are reachable from src in reverse direction"""
    result = set(src)
    working_set = deque(src)
    while len(working_set) > 0:
        cur = working_set.popleft()
        for n in self.predecessors(cur):
            if n not in result:
                result.add(n)
                working_set.append(n)
    return result