protected void EnsureUndisposed() { if (IsDisposed) throw new ObjectDisposedException(GetType().Name); }