public override void Stop() { if (_disposed) { throw new ObjectDisposedException(this.GetType().FullName); } if (!_isLoaded) { throw new AmoebaManagerException("AmoebaManager is not loaded."); } lock (this.ThisLock) { if (this.State == ManagerState.Stop) { return; } _state = ManagerState.Stop; _backgroundUploadManager.Stop(); _backgroundDownloadManager.Stop(); _uploadManager.Stop(); _downloadManager.Stop(); _connectionsManager.Stop(); } }