private void ParseIntoDictionary(Dictionary<string, string> keyVals, string fragmentVal) { Parser.Parser p = new Parser.Parser(); while (fragmentVal.Length > 0 && p.Validate(fragmentVal) && p.IsAtomic(fragmentVal)) { string firstKey = p.GetFirstKey(fragmentVal); keyVals[firstKey] = p.Extract(firstKey, fragmentVal); fragmentVal = p.TrimKeyVal(firstKey, fragmentVal); } }