/// <summary>
 /// Adds elements to the collection if it does not already exist.
 /// </summary>
 void AddElements(XmlCompletionDataCollection lhs, XmlCompletionDataCollection rhs)
 {
   foreach (XmlCompletionData data in rhs)
   {
     if (!lhs.Contains(data))
     {
       lhs.Add(data);
     }
   }
 }
 /// <summary>
 /// Adds an element completion data to the collection if it does not
 /// already exist.
 /// </summary>
 void AddElement(XmlCompletionDataCollection data, string name, string prefix, string documentation)
 {
   if (!data.Contains(name))
   {
     if (prefix.Length > 0)
     {
       name = String.Concat(prefix, ":", name);
     }
     XmlCompletionData completionData = new XmlCompletionData(name, documentation);
     data.Add(completionData);
   }
 }