anchor.diff:    final _onChecked = new StreamController.broadcast();
   
     /// Fired when checkbox goes in and out of indeterminate state, but not when
  -  /// set to checked. Sends the state of [indeterminate];
  +  /// set to checked.
  +  ///
  +  /// Sends the state of [indeterminate].
     @Output('indeterminateChange')
     Stream get onIndeterminate => _onIndeterminate.stream;
     final _onIndeterminate = new StreamController.broadcast();
  
positive.code:   bool get indeterminate => _indeterminate;
    bool _indeterminate = false;
  
    /// Actually update the state variables. If both parameters are provided, then
    /// set them as presented, otherwise we will clear the other one if necessary.
    /// Events are only fired if there was a change and [emitEvent] is true.
    void _setStates(
        {bool checked = false,
        bool indeterminate = false,
  
negative.code:   final _onChange = new StreamController.broadcast();
  
    /// Determines the state to go into when [indeterminate] state is toggled.
    ///
    /// `true` will go to checked and `false` will go to unchecked.
    @Input()
    bool indeterminateToChecked = false;
  
    /// Whether the checkbox should not respond to events, and have a style that
    /// suggests that interaction is not allowed.
    @HostBinding('class.disabled')
    @HostBinding('attr.aria-disabled')
    @Input()
    bool disabled = false;
  
    // Current tab index.
    @HostBinding('attr.tabindex')
    String get tabIndex => disabled ? "-1" : _defaultTabIndex;
  
    /// Current state of the checkbox. This is user set-able state, via
    /// [toggleChecked()], so when checked, the [indeterminate] state gets
    /// cleared.
    ///
    /// `true` is CHECKED and `false` is not.
    @Input()
    set checked(bool newValue) {
  