anchor.diff:        name: 'root',
         childrenMap: rootChildren,
       );
  -    TreemapNode currentParent = root;
  +    TreemapNode? currentParent = root;
   
       // TODO(terry): Should treemap be all memory or just the filtered group?
       //              Using rawGroup not graph.groupByLibrary.
   
  -    controller.heapGraph.rawGroupByLibrary.forEach(
  +    (controller.heapGraph?.rawGroupByLibrary ?? {}).forEach(
         (libraryGroup, value) {
           final classes = value;
           for (final theClass in classes) {
             final shallowSize = theClass.instancesTotalShallowSizes;
             var className = theClass.name;
  -          if (shallowSize == 0 ||
  -              libraryGroup == null ||
  -              className == null ||
  -              className == '::') {
  +          if (shallowSize == 0 || className == '::') {
               continue;
             }
   
  
positive.code:                   name: pathPart,
                    childrenMap: <String, TreemapNode>{},
                  );
                  currentParent.addChild(node);
                  return node;
                },
              );
              currentChildren[pathPart].byteSize += symbol.size;
              currentParent = currentChildren[pathPart];
              currentChildren = currentChildren[pathPart].childrenMap;
            }
            currentParent = parentReset;
          }
  
negative.code: 
  class MemoryHeapTreemapState extends State<MemoryHeapTreemap>
      with AutoDisposeMixin {
    MemoryHeapTreemapState(this._controller);
  
    InstructionsSize? _sizes;
  
    bool _initialized = false;
    late MemoryController _controller;
  
    TreemapNode? root;
  
    @override
    void didChangeDependencies() {
      super.didChangeDependencies();
  
      // TODO(terry): Unable to short-circuit need to investigate why?
      final newController = Provider.of<MemoryController>(context);
      if (_initialized && _controller == newController) return;
      _controller = newController;
      _initialized = true;
  
      if (_controller.heapGraph != null) {
        _sizes = InstructionsSize.fromSnapshot(_controller);
        root = _sizes!.root;
      }
  
      cancelListeners();
  
      addAutoDisposeListener(_controller.selectedSnapshotNotifier, () {
        setState(() {
          _controller.computeAllLibraries(rebuild: true);
  
          _sizes = InstructionsSize.fromSnapshot(_controller);
        });
      });
  
  