public void Add(params KeyCode[] keys)
        {
            if (m_modifiers == null)
            {
                m_modifiers      = new KeyCode[0];
                m_referenceCount = new int[0];
                m_pressed        = new bool[0];
            }

            for (int i = 0; i < keys.Length; i++)
            {
                if (!ArrayUtil.Contains(m_modifiers, keys[i]))
                {
                    m_modifiers      = ArrayUtil.AddToArray(m_modifiers, keys[i]);
                    m_referenceCount = ArrayUtil.AddToArray(m_referenceCount, 1);
                    m_pressed        = ArrayUtil.AddToArray(m_pressed, false);
                }
                else
                {
                    int index = ArrayUtil.FindFirstIndex(m_modifiers, keys[i]);
                    ++m_referenceCount[index];
                }
            }
        }