public void Dispose() { if (!this.isDisposed && FileContents != null) { foreach (var kvp in FileContents.Values) { kvp.Dispose(); } FileContents.Clear(); isDisposed = true; } }