Deep-copy a strategy dependency graph
You have a directed graph of strategy nodes, each holding a value and a list of neighbor references. Produce a completely independent deep copy: same structure and values, but all-new node objects. The graph may contain cycles.
A -> B, B -> C, C -> A # a 3-cycle
clone -> new A' -> B' -> C' -> A' (no object shared with the original)
Return the clone of the given start node (the copy of the whole reachable graph).
Your answer
This one is open-ended. Work it through, then check your reasoning against the full solution.