Returns the shortest path to root (unmodifiable List).
List<Node<T>> get shortestPathToRoot => _shortestPathToRoot ??= UnmodifiableListView(resolveShortestPathToRoot());