private void Disconnect() { RTPMessageSender sender = Interlocked.Exchange(ref this.m_Sender, null); if (sender != null) { m_Model.Network.RegisterNetworkStatusProvider(this, false, null); sender.Dispose(); } // Clear out any presentations from the classroom using (Synchronizer.Lock(this.Classroom.SyncRoot)) { for (int i = this.Classroom.Presentations.Count - 1; i >= 0; i--) { this.Classroom.Presentations.Remove(this.Classroom.Presentations[i]); } } }