internal void FinishTrigger() { int gate = Interlocked.CompareExchange(ref m_State, Triggered, Held); if (gate != Held) { GlobalLog.Assert("InterlockedGate::FinishTrigger", "Gate not held."); throw new InternalException(); } }