anchor.diff:  import 'package:angular_components/model/selection/selection_container.dart';
   import 'package:angular_components/model/selection/selection_model.dart';
   import 'package:angular_components/model/selection/selection_options.dart';
  +import 'package:angular_components/model/ui/has_factory.dart';
   import 'package:angular_components/model/ui/has_renderer.dart';
  -import 'package:angular_components/model/ui/has_factory.dart';
   import 'package:angular_components/utils/browser/dom_service/dom_service.dart';
   
   import 'material_tree_impl.dart';
  
positive.code:   @Input()
    bool shouldExpandAllWhenFiltered = true;
  
    bool get showFilterInsideButton =>
        supportsFiltering && !showFilterInsidePopup;
  
    Filterable get filterableOptions => options is Filterable
        ? options as Filterable
        : throw StateError(
            'The SlectionOptions provided should implement Filterable');
  
    bool get expandAll =>
        _expandAll || (isFiltered && shouldExpandAllWhenFiltered);
  
    String get placeholder {
      if (selection is! MultiSelectionModel && selection.isNotEmpty) {
        return (itemRenderer ??
            defaultItemRenderer)(selection.selectedValues.first);
      }
      return _placeholder;
    }
  
negative.code:   String _placeholder = _DEFAULT_PLACEHOLDER;
    bool _visible = false;
    List<RelativePosition> _customPopupPositions;
    String _buttonText;
  
    @ViewChild(MaterialTreeFilterComponent)
    MaterialTreeFilterComponent materialTreeFilterComponent;
  