private void FindAndAddKeyHandler(bool requireAllActions, string keyString, string actionName)
        {
            MethodInfo action = this.GetType().GetMethod(actionName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy);

            if (action != null)
            {
                NamedKey namedKey = new NamedKey(keyString);
                if (m_keyMappings.ContainsKey(namedKey))
                {
                    AddErrorIfNotReported("Error in keymapping - Trying to assign multiple keys to '" + namedKey.ToString() + "'.\n");
                    m_keyMappings.Remove(namedKey);
                }
                m_keyMappings.Add(namedKey, action);
            }
            else if (requireAllActions)
            {
                throw new InvalidOperationException(string.Format("Could not find a mappable operation named {0}.", actionName));
            }
        }