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

