anchor.diff:        }
       }
   
  -		_backingList.removeAt(index);
  +		var removed = _backingList.removeAt(index);
   
   		if (this is PropertyHandlingTarget) {
         (this as PropertyHandlingTarget).onPropertyChangedInternal(index, null, old, false, true);
  
positive.code: 		}
  	}
  
  	bool removePropertyValue(int index, {bool adjustBubblingIds: true}) {
  	  var old = _backingList[index];
  	  if (old is BubblingTarget) {
        _removeBubblingTarget(index, old);
  
negative.code:     if (length == 0) {
        _delegateeTarget.dispatchPropertyChanged(EMPTY, new PropertyChangedEvent(true, false));
      }
  
      return removed;
  	}
  
    void _addBubblingTarget(int index, BubblingTarget bubblingTarget) {
  