anchor.diff:          break;
       }
   
  -    final Color trackColor = isActive ? Color.lerp(inactiveTrackColor, activeTrackColor, currentValue) : inactiveTrackColor;
  +    final Color trackColor = isEnabled
  +      ? Color.lerp(inactiveTrackColor, activeTrackColor, currentValue)
  +      : inactiveTrackColor;
  +
  +    final Color thumbColor = isEnabled
  +      ? Color.lerp(inactiveColor, activeColor, currentValue)
  +      : inactiveColor;
  +
  +    final ImageProvider thumbImage = isEnabled
  +      ? (currentValue < 0.5 ? inactiveThumbImage : activeThumbImage)
  +      : inactiveThumbImage;
   
       // Paint the track
       final Paint paint = Paint()
  
positive.code:     try {
        _isPainting = true;
        BoxPainter thumbPainter;
        final Color thumbColor = isActive ? Color.lerp(inactiveColor, activeColor, currentValue) : inactiveColor;
        final ImageProvider thumbImage = isActive ? (currentValue < 0.5 ? inactiveThumbImage : activeThumbImage) : inactiveThumbImage;
        if (_cachedThumbPainter == null || thumbColor != _cachedThumbColor || thumbImage != _cachedThumbImage) {
          _cachedThumbColor = thumbColor;
          _cachedThumbImage = thumbImage;
  
negative.code: /// the switch changes, the widget calls the [onChanged] callback. Most widgets
  /// that use a switch will listen for the [onChanged] callback and rebuild the
  /// switch with a new [value] to update the visual appearance of the switch.
  ///
  /// If the [onChanged] callback is null, then the switch will be disabled (it
  /// will not respond to input). A disabled switch's thumb and track are rendered
  /// in shades of grey by default. The default appearance of a disabled switch
  /// can be overridden with [inactiveThumbColor] and [inactiveTrackColor].
  ///
  /// Requires one of its ancestors to be a [Material] widget.
  ///
  