protected void Add(CollectionBase <T> data)
        {
            int addL = internalPointer + data.Count;

            if (length <= addL)
            {
                int twoL = length * 2;
                this.Resize(twoL > addL ? twoL : addL);
            }
            int len = data.Count;

            Array.Copy(data.Elements, 0, Elements, internalPointer, len);
            internalPointer += len;
        }
 public void Dispose()
 {
     collection = null;
 }
 public Enumerator(CollectionBase <T> collection)
 {
     this.collection = collection;
 }