private void Dispose(bool disposeOfManagedResources) { lock (this) { if (this.isDisposed) return; if (disposeOfManagedResources) this.DisposeOfManagedResources(); this.DisposeOfUnmanagedResources(); this.isDisposed = true; } }