anchor.diff:      if (widget.crossFadeState != oldWidget.crossFadeState) {
         switch (widget.crossFadeState) {
           case CrossFadeState.showFirst:
  -          _controller!.reverse();
  +          _controller.reverse();
             break;
           case CrossFadeState.showSecond:
  -          _controller!.forward();
  +          _controller.forward();
             break;
         }
       }
     }
   
     /// Whether we're in the middle of cross-fading this frame.
  -  bool get _isTransitioning => _controller!.status == AnimationStatus.forward || _controller!.status == AnimationStatus.reverse;
  +  bool get _isTransitioning => _controller.status == AnimationStatus.forward || _controller.status == AnimationStatus.reverse;
   
     @override
     Widget build(BuildContext context) {
       const Key kFirstChildKey = ValueKey<CrossFadeState>(CrossFadeState.showFirst);
       const Key kSecondChildKey = ValueKey<CrossFadeState>(CrossFadeState.showSecond);
  -    final bool transitioningForwards = _controller!.status == AnimationStatus.completed ||
  -                                       _controller!.status == AnimationStatus.forward;
  +    final bool transitioningForwards = _controller.status == AnimationStatus.completed ||
  +                                       _controller.status == AnimationStatus.forward;
       final Key topKey;
       Widget topChild;
       final Animation<double> topAnimation;
  
positive.code: }
  
  class _AnimatedCrossFadeState extends State<AnimatedCrossFade> with TickerProviderStateMixin {
    AnimationController? _controller;
    late Animation<double> _firstAnimation;
    late Animation<double> _secondAnimation;
  
  
negative.code:       vsync: this,
      );
      if (widget.crossFadeState == CrossFadeState.showSecond)
        _controller.value = 1.0;
      _firstAnimation = _initAnimation(widget.firstCurve, true);
      _secondAnimation = _initAnimation(widget.secondCurve, false);
      _controller.addStatusListener((AnimationStatus status) {
        setState(() {
          // Trigger a rebuild because it depends on _isTransitioning, which
          // changes its value together with animation status.
  