anchor.diff:        dynamic dataToObserve = getDataToObserve();
         
         if (value is Observable) _dataChangesListener = value.changes.listen(_data_changesHandler);
  +      else if (value is ObservableList) _dataChangesListener = value.listChanges.listen(_data_changesHandler);
  +      
         if (dataToObserve is Observable) _dataFieldsChangesListener = dataToObserve.changes.listen(_data_changesHandler);
  -      
  -      if (value is ObservableList) _dataChangesListener = value.listChanges.listen(_data_changesHandler);
  -      if (dataToObserve is ObservableList) _dataFieldsChangesListener = dataToObserve.listChanges.listen(_data_changesHandler);
  +      else if (dataToObserve is ObservableList) _dataFieldsChangesListener = dataToObserve.listChanges.listen(_data_changesHandler);
         
         _inactive = (_inactiveHandler != null) ? _inactiveHandler(data) : false;
         
  
positive.code:       dynamic dataToObserve = getDataToObserve();
        
        if (dataToObserve is Observable) _dataFieldsChangesListener = dataToObserve.changes.listen(_data_changesHandler);
        if (dataToObserve is ObservableList) _dataFieldsChangesListener = dataToObserve.listChanges.listen(_data_changesHandler);
      }
      
      if (_enableHighlight && (changes != null)) {
        PropertyChangeRecord propertyChangeRecord = changes.firstWhere(
            (ChangeRecord changeRecord) => (
                (changeRecord is PropertyChangeRecord) &&
                (
                    (changeRecord.name == _field) ||
                    (
                      (_fields != null) &&
                      _fields.contains(changeRecord.name)
                    )
                )
                
            ),
            orElse: () => null
        );
        
        if (propertyChangeRecord != null) {
          notify(
              new FrameworkEvent<dynamic>(
                  'dataPropertyChanged',
  
negative.code:   //
    //---------------------------------
    
    void _data_changesHandler(Iterable<dynamic> changes) {
      if (_fields != null) {
        if (_dataFieldsChangesListener != null) {
          _dataFieldsChangesListener.cancel();
  