#region << Using Directives >>
using System;
#endregion
namespace Volpe.Cafe.Generic
{
    [Serializable]
    public class FTObject<T> : FTValue<T>, ICloneable where T : ICloneable
    {
        #region 
        public FTObject() : base() { }
        public FTObject(T gasoline, T ethanol85, T diesel, T biodiesel20, T electricity, T hydrogen, T cng, T lng, T lpg)
            : base(gasoline, ethanol85, diesel, biodiesel20, electricity, hydrogen, cng, lng, lpg) { }
        #endregion
        #region 
        #region 
        object ICloneable.Clone()
        {
            return this.Clone();
        }
        public new FTObject<T> Clone()
        {
            FTObject<T> value = new FTObject<T>();
            this.CopyTo(value);
            return value;
        }
        protected void CopyTo(FTObject<T> value)
        {
            for (int i = 0; i < this.Items.Length; i++)
            {
                value.Items[i] = (T)this.Items[i].Clone();
            }
        }
        #endregion
        #endregion
    }
}

