public void Add(string key, string value)
 {
     if (ContainsKey(key))
     {
         ConstrainedList <string> refVal;
         if (TryGetValue(key, out refVal))
         {
             refVal.Enqueue(value);
         }
     }
     else
     {
         ConstrainedList <string> cl = new ConstrainedList <string>(MaxNumValues);
         cl.Enqueue(value);
         Add(key, cl);
     }
 }
 public new void Add(string key, ConstrainedList <string> value)
 {
     base.Add(key, value);
     OnItemAdded(new DataItemEventArgs(key, value.Peek()));
 }