#region << Using Directives >>
using System;
#endregion
namespace Volpe.Cafe.Generic
{
    [Serializable]
    public class VCObject<T> : VCValue<T>, ICloneable where T : ICloneable
    {
        #region 
        public VCObject() : base() { }
        public VCObject(T ldv, T ldt12a, T ldt2b3, T mdt456) : base(ldv, ldt12a, ldt2b3, mdt456) { }
        #endregion
        #region 
        #region 
        object ICloneable.Clone()
        {
            return this.Clone();
        }
        public new VCObject<T> Clone()
        {
            VCObject<T> value = new VCObject<T>();
            this.CopyTo(value);
            return value;
        }
        protected void CopyTo(VCObject<T> value)
        {
            for (int i = 0; i < this.Items.Length; i++)
            {
                value.Items[i] = (T)this.Items[i].Clone();
            }
        }
        #endregion
        #endregion
    }
}

