anchor.diff:    }
   }
   
  -class TreeViewItem<T extends TreeNode<T>> extends StatefulWidget {
  -  const TreeViewItem(
  +class _TreeViewItem<T extends TreeNode<T>> extends StatefulWidget {
  +  const _TreeViewItem(
       this.data, {
  -    this.buildDisplay,
  -    this.onItemExpanded,
  -    this.onItemSelected,
  +    required this.buildDisplay,
  +    required this.onItemExpanded,
  +    required this.onItemSelected,
     });
   
     final T data;
  
positive.code: 
  class TreeView<T extends TreeNode<T>> extends StatefulWidget {
    const TreeView({
      this.dataRootsListenable,
      this.dataDisplayProvider,
      this.onItemSelected,
      this.onItemExpanded,
      this.shrinkWrap = false,
      this.itemExtent,
  
negative.code:       shrinkWrap: widget.shrinkWrap,
        physics: widget.shrinkWrap ? const ClampingScrollPhysics() : null,
        itemBuilder: (context, index) {
          final T item = items[index];
          return _TreeViewItem<T>(
            item,
            buildDisplay: (onPressed) =>
                widget.dataDisplayProvider(item, onPressed),
  