/// <summary> /// Implementation of the <see cref="IDisposable"/> pattern /// </summary> /// <param name="disposing">True if this object is being disposed, false if it is being finalized</param> protected virtual void Dispose(bool disposing) { if (disposing) { ParentDesktopObject = null; if (_toolSet != null) { _toolSet.Dispose(); _toolSet = null; } StopLoadingPriors(); StopPrefetching(); if (_physicalWorkspace != null) { _physicalWorkspace.Dispose(); _physicalWorkspace = null; } if (_logicalWorkspace != null) { _logicalWorkspace.Dispose(); _logicalWorkspace = null; } if (_studyTree != null) { _studyTree.Dispose(); _studyTree = null; } if (_layoutManager != null) { _layoutManager.Dispose(); _layoutManager = null; } if (ExtensionData != null) { ExtensionData.Dispose(); ExtensionData = null; } } }