Expect ref node 'D'; pointer after: A B C [D] * E F G H I

remove node 'E'

Expect ref node 'D'; pointer after: A B C [D] * F G H I

insert new node 'X' before 'F'

Expect ref node 'D'; pointer after: A B C [D] * X F G H I

move node 'I' before 'X'

Expect ref node 'D'; pointer after: A B C [D] * I X F G H
