anchor.diff:                                child: StreamBuilder(
                                     stream: controller.outputStateStream,
                                     initialData: controller.value,
  -                                  builder: (BuildContext context,
  -                                      AsyncSnapshot snapshot) {
  -                                    if (snapshot.hasError ||
  -                                        !snapshot.hasData) {
  -                                      return Container();
  -                                    }
  -                                    final PhotoViewControllerValue value =
  -                                        snapshot.data;
  -                                    return Column(
  -                                      children: <Widget>[
  -                                        Text("Rotation ${value.rotation}",
  -                                          style: TextStyle(
  -                                              color: Colors.white
  -                                          ),
  -                                        ),
  -                                        SliderTheme(
  -                                            data: SliderTheme.of(context)
  -                                                .copyWith(
  -                                                    activeTrackColor:
  -                                                        Colors.orange,
  -                                                    thumbColor: Colors.orange),
  -                                            child: Slider(
  -                                                value: value.rotation
  -                                                    .clamp(min, max),
  -                                                min: min,
  -                                                max: max,
  -                                                onChanged:
  -                                                    (double newRotation) {
  -                                                  controller.rotation =
  -                                                      newRotation;
  -                                                  controller.scaleState =
  -                                                      PhotoViewScaleState
  -                                                          .zooming;
  -                                                })),
  -
  -                                      ],
  -                                    );
  -                                  })),
  +                                  builder: _streamBuild)),
                           )
                         ],
                       ),
  
positive.code:   _ControllerExampleState createState() => _ControllerExampleState();
  }
  
  double min = pi * -2;
  double max = pi * 2;
  
  class _ControllerExampleState extends State<ControllerExample> {
    PhotoViewController controller;
  
negative.code:           )),
      );
    }
  
    Widget _streamBuild(BuildContext context, AsyncSnapshot snapshot) {
      if (snapshot.hasError || !snapshot.hasData) {
        return Container();
      }
      final PhotoViewControllerValue value = snapshot.data;
      return Column(
        children: <Widget>[
          Text(
            "Rotation ${value.rotation}",
            style: TextStyle(color: Colors.white),
          ),
          SliderTheme(
              data: SliderTheme.of(context).copyWith(
                  activeTrackColor: Colors.orange, thumbColor: Colors.orange),
              child: Slider(
                  value: value.rotation.clamp(min, max),
                  min: min,
                  max: max,
                  onChanged: (double newRotation) {
                    controller.rotation = newRotation;
                    controller.scaleState = PhotoViewScaleState.zooming;
                  })),
          Text(
            "Scale ${value.scale}",
            style: TextStyle(color: Colors.white),
          ),
          SliderTheme(
              data: SliderTheme.of(context).copyWith(
                  activeTrackColor: Colors.orange, thumbColor: Colors.orange),
              child: Slider(
                  value: value.scale.clamp(minScale, maxScale),
                  min: minScale,
                  max: maxScale,
                  onChanged: (double newScale) {
                    controller.scale = newScale;
                    controller.scaleState = PhotoViewScaleState.zooming;
                  })),
        ],
      );
    }
  }
  