public virtual object Clone()
        {
            var elemGroup = new ElementGroup <TItem>();

            foreach (var elem in Elements)
            {
                elemGroup.Add((elem is ICloneable) ? (TItem)(elem as ICloneable).Clone() : elem);
            }
            return(new ElementRefGroup <TItem>(elemGroup));
        }
 public ElementRefGroup(IEnumerable <TItem> items)
     : base()
 {
     Elements = new ElementGroup <TItem>(items);
 }
 public ElementRefGroup(int capacity)
     : base()
 {
     Elements = new ElementGroup <TItem>(capacity);
 }
 public ElementRefGroup()
     : base()
 {
     Elements = new ElementGroup <TItem>();
 }