/// <summary> /// Releases unmanaged and - optionally - managed resources. /// </summary> /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> private void Dispose(bool disposing) { if (m_Disposed) { return; } if (disposing) { try { if (TaskRunners != null) { for (int i = 0; i < TaskRunners.Count; i++) { ITaskRunner taskRunner = TaskRunners[i]; taskRunner.Dispose(); } } } finally { m_IsRunning = false; m_Disposed = true; } } }