static bool isAnyHovered([Object? rootId]) { if (rootId == null) { return _roots.values.any((r) => r.isAnyHovered); } return isBranchHovered(rootId); }