roots property
Roots, in order. A live, internally-owned List<TKey> whose
reference is stable for this buffer's lifetime, so wrapping it with
an UnmodifiableListView produces a view that reflects subsequent
mutations.
Internal callers (TreeController and its part files) mutate this list
directly using standard List operations (add, remove, insert, clear,
chained ..clear()..addAll(...), etc.). External callers should use
TreeController.rootKeys (the unmodifiable view).
Implementation
final List<TKey> roots = <TKey>[];