void go(Map<TreeNode, Set<TreeNode>> map, TreeNode x, TreeNode parent) {
        if (x == null)
            return;
        map.put(x, new HashSet<>());
        map.get(x).add(parent);
        if (x.left != null)
            map.get(x).add(x.left);
        if (x.right != null)
            map.get(x).add(x.right);
        go(map, x.left, x);
        go(map, x.right, x);

    }
Why Did you create this class? what does it do?
src/problems/medium/AllNodesDistanceKinBinaryTree.java