public bool Remove(TemplateElement item)
        {
            var index = list.IndexOf(item);

            if (index == -1)
            {
                return(false);
            }

            RemoveAt(index);
            return(true);
        }
 public void Add(TemplateElement item)
 {
     item.Parent = owner;
     list.Add(item);
     owner.Invalidate();
 }
        public bool Remove(TemplateElement item)
        {
            var index = list.IndexOf(item);
            if (index == -1)
            {
                return false;
            }

            RemoveAt(index);
            return true;
        }
 public void Insert(int index, TemplateElement item)
 {
     item.Parent = owner;
     list.Insert(index, item);
     owner.Invalidate();
 }
 public int IndexOf(TemplateElement item)
 {
     return list.IndexOf(item);
 }
 public void CopyTo(TemplateElement[] array, int arrayIndex)
 {
     list.CopyTo(array, arrayIndex);
 }
 public bool Contains(TemplateElement item)
 {
     return list.Contains(item);
 }
 public bool Contains(TemplateElement item)
 {
     return(list.Contains(item));
 }
 public void Insert(int index, TemplateElement item)
 {
     item.Parent = owner;
     list.Insert(index, item);
     owner.Invalidate();
 }
 public void Add(TemplateElement item)
 {
     item.Parent = owner;
     list.Add(item);
     owner.Invalidate();
 }
 public int IndexOf(TemplateElement item)
 {
     return(list.IndexOf(item));
 }