/// <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);
     }
 }