anchor.diff:    ///
     /// The runtime of this method is O(level * tree width). The worst case
     /// scenario is searching for a very deep level in a very wide tree.
  -  T _childNodeAtLevelWithCondition(
  +  T? _childNodeAtLevelWithCondition(
       int level,
       T traversalCondition(T currentNode, int levelWithOffset),
     ) {
  
positive.code: 
    /// Expands this node and all of its children (cascading).
    void expandCascading() {
      breadthFirstTraversal<T>(this, action: (T node) {
        node.expand();
      });
    }
  
negative.code:   }
  
    bool subtreeHasNodeWithCondition(bool condition(T node)) {
      final T? childWithCondition = firstChildWithCondition(condition);
      return childWithCondition != null;
    }
  
    T? firstChildWithCondition(bool condition(T node)) {
      return breadthFirstTraversal<T>(
        this as T,
        returnCondition: condition,
      );
    }
  