/// <summary> /// Remove an item from the estimator /// </summary> /// <param name="item">Item to remove</param> public void Remove(TEntity item) { if (_strataEstimator.MaxStrata < _strataEstimator.StrataLimit && _minwiseEstimator != null) { _minwiseReplacementCount += _minwiseEstimator.ItemCount; //after removal, the bit minwise estimator needs to be dropped since we can't remove from that. _minwiseEstimator = null; } var idHash = _configuration.IdHash(_configuration.GetId(item)); var entityHash = _configuration.EntityHash(item); if (!_strataEstimator.ConditionalRemove(idHash, entityHash)) { _minwiseReplacementCount--; } }