anchor.diff:      _snapToPosition(bestSnappingPosition);
     }
   
  -  void _snapToPosition(SnappingPosition snappingPosition) {
  +  TickerFuture _snapToPosition(SnappingPosition snappingPosition) {
       widget.onSnapStart?.call(_currentPosition, snappingPosition);
  -    _animateToPosition(snappingPosition);
       _lastSnappingPosition = snappingPosition;
  -  }
  -
  -  void _animateToPosition(SnappingPosition snappingPosition) {
  +    return _animateToPosition(snappingPosition);
  +  }
  +
  +  TickerFuture _animateToPosition(SnappingPosition snappingPosition) {
       _animationController.duration = snappingPosition.snappingDuration;
       var endPosition = snappingPosition.getPositionInPixels(
         _latestConstraints!.maxHeight,
  
positive.code:       ),
      );
      _animationController.reset();
      _animationController.forward();
    }
  
    SnappingCalculator _getSnappingCalculator() {
  
negative.code:   }
  
    /// Snaps to a given snapping position.
    TickerFuture snapToPosition(SnappingPosition snappingPosition) {
      _checkAttachment();
      return _state!._snapToPosition(snappingPosition);
    }
  
    /// This sets the position of the snapping sheet directly without any
  