public void PushInput(IInputSink input)
{
Trace.Assert(!m_inputStack.Contains(input));
if (m_inputStack.Count > 0)
{
m_inputStack[m_inputStack.Count - 1].OnInputRelease();
}
m_inputStack.Add(input);
input.OnInputAcquire();
}