public void Dispose() { if (mSupervisor.RunningReceiveThread == this) { mSupervisor.UnassignRunningReceiveThread(this); } }