anchor.diff:              _updateOwnershipClass, _getChildrenOwnershipClass,
               items: items, queue: _r.queue);
           _tree.expand(_snapshot.dominatorTree);
  -        report.add(_tree);
  +        final text = 'An object X is said to "own" object Y if X is the only '
  +            'object that references Y, or X owns the only object that '
  +            'references Y. In particular, objects "own" the space of any '
  +            'unshared lists or maps they reference.';
  +        report.addAll([
  +          new DivElement()
  +            ..classes = ['content-centered-big', 'explanation']
  +            ..text = text,
  +          _tree
  +        ]);
           break;
         case HeapSnapshotTreeMode.groupByClass:
           final items = _snapshot.classReferences.toList();
  
positive.code:       ..children = [
          new SpanElement()
            ..classes = ['size']
            ..title = 'size',
          new SpanElement()..classes = ['name']
        ];
    }
  
negative.code:   void _updateOwnershipClass(HtmlElement element, item, int depth) {
      _updateLines(element.children[1].children, depth);
      element.children[0].text = Utils.formatSize(item.size);
      element.children[1].text =
          Utils.formatPercentNormalized(item.size * 1.0 / _snapshot.size);
      element.children[2] = new SpanElement()
        ..classes = ['name']
        ..children = [
          new SpanElement()..text = ' instances of ',
          new ClassRefElement(_isolate, item.clazz, queue: _r.queue)
            ..classes = ['name']
        ];
    }
  
    static _updateLines(List<Element> lines, int n) {
  