Prevent impossible moves to the left or right.
Fix incorrect exception text (change direction, left to right).
Check node has parent before attempting to check if move is possible.
implemented toHierarchical method