anchor.diff:          ngValueAccessor, MultiDropdownSelectValueAccessor),
     ],
   )
  -class MultiDropdownSelectValueAccessor extends BaseDropdownSelectValueAccessor
  +class MultiDropdownSelectValueAccessor<T>
  +    extends BaseDropdownSelectValueAccessor<T>
       implements ControlValueAccessor, OnDestroy {
  -  var selectionChangesSub;
  +  StreamSubscription<List<SelectionChangeRecord<T>>> selectionChangesSub;
   
  -  MultiDropdownSelectValueAccessor(MaterialDropdownSelectComponent select)
  -      : super(select, MultiSelectionModel());
  +  MultiDropdownSelectValueAccessor(MaterialDropdownSelectComponent<T> select)
  +      : super(select, MultiSelectionModel<T>());
   
     @override
     void registerOnChange(callback) {
  
positive.code: 
  /// Base [ControlValueAccessor] for material dropdown select for common logic
  /// between single, and multiple selection dropdowns.
  abstract class BaseDropdownSelectValueAccessor
      implements ControlValueAccessor, OnDestroy {
    final MaterialDropdownSelectComponent _select;
    @protected
    final SelectionModel selectionModel;
    StreamSubscription _visibileSub;
    bool initialized = false;
  
  
negative.code:     ExistingProvider.forToken(ngValueAccessor, DropdownSelectValueAccessor),
    ],
  )
  class DropdownSelectValueAccessor<T> extends BaseDropdownSelectValueAccessor<T>
      implements ControlValueAccessor, OnDestroy {
    StreamSubscription _selectionChangesSub;
    DropdownSelectValueAccessor(MaterialDropdownSelectComponent select)
  