public void Dispose()
{
Task.WaitAll(futureIndexBatches.Values.Select(ObserveDiscardedTask).ToArray());
futureIndexBatches.Clear();
}
public void RemovePrefetchingBehavior(PrefetchingBehavior prefetchingBehavior) { lock (this) { prefetchingBehaviors = new List <PrefetchingBehavior>(prefetchingBehaviors.Except(new[] { prefetchingBehavior })); prefetchingBehavior.Dispose(); } }