protected virtual void StoreKeyValue()
        {
            string key = _reader.ReadToken(":", @"\", false, false, true, true);
            string val = "";

            _reader.ConsumeWhiteSpace();
            // If starting with " then possibly multi-line.
            if (_reader.CurrentChar == "\"")
            {
                val = _reader.ReadToken("\"", @"\", false, true, true, true);
            }
            else
            {
                val = _reader.ReadToEol();
            }

            if (!_settings.IsCaseSensitive)
            {
                key = key.ToLower();
            }

            // This allow multiple values for the same key.
            // Multiple values are stored using List<object>.
            _currentSection.AddMulti(key, val, false);
            _lastLineType = IniLineType.KeyValue;
        }