void ThrowIfDisposed() { if (disposed.Value) throw new ObjectDisposedException ("ManualResetEventSlim"); }