/// <summary> /// if key exists, update it's values /// if not it will add a new key with this values /// </summary> /// <param name="key"></param> /// <param name="position"></param> /// <param name="values"></param> public void Update(string key, int position, TValue[] values) { if (key == null) { throw new ArgumentNullException("key"); } if (EndOfString(position, key)) { UpdateValues(values); return; } TrieNodeBase <TValue> child = GetOrCreateChild(key[position]); child.Update(key, position + 1, values); }