public override void detach(ScrollPosition position)
        {
            base.detach(position);
            D.assert(this._positionToListener.ContainsKey(position));
            position.removeListener(this._positionToListener[position]);
            this._positionToListener.Remove(position);
            if (this._lastUpdated == position)
            {
                this._lastUpdated = null;
            }

            if (this._positionToListener.isEmpty())
            {
                this._lastUpdatedOffset = null;
            }
        }
 public virtual void detach(ScrollPosition position)
 {
     D.assert(this._positions.Contains(position));
     position.removeListener(this.notifyListeners);
     this._positions.Remove(position);
 }