internal override bool AddIfNotPresent(T item) { if (!IsWithinRange(item)) { throw new ArgumentOutOfRangeException(nameof(item)); } bool ret = _underlying.AddIfNotPresent(item); VersionCheck(); #if DEBUG Debug.Assert(this.versionUpToDate() && root == _underlying.FindRange(_min, _max)); #endif return(ret); }