Rotacionar folhas de uma árvore

Boa Noite, Pessoal!
Estou lendo sobre Arvores AVL, e surgiu uma dúvida sobre rotacionar essas folhas da imagem.
Eu não estou conseguindo enxergar esse código rodando.
De acordo com o texto, na imagem, a raiz da minha árvore é o 3.

Então quando eu leio a linha:

struct jsw_node *save = root->link[!dir];
Eu entendo que o ponteiro save irá apontar para a folha do lado esquerdo de 3, que no caso é nulo.

Na linha :
root->link[!dir] = save->link[dir];
Nessa linha eu perco a sanidade. O que eu entendo é que uma folha(filha esquerda da raiz 3) que já era NULL, recebe um cara que tbm é NULL.

Alguém saberia me explicar melhor esse código?