public void ApplyToToken(InputLayoutToken <TInputId> token)
        {
            var e = _customTable.GetEnumerator();

            while (e.MoveNext())
            {
                token.Inputs.Add(new InputLayoutToken <TInputId> .InputTokenKeyValuePair()
                {
                    InputId    = e.Current.Key,
                    InputToken = e.Current.Value
                });
            }
        }
        public void LoadFromToken(InputLayoutToken <TInputId> token)
        {
            _customTable.Clear();
            if (token == null || token.Inputs == null)
            {
                return;
            }

            var e = token.Inputs.GetEnumerator();

            while (e.MoveNext())
            {
                _customTable[e.Current.InputId] = e.Current.InputToken;
            }
        }