public override void CopyValues(YuGiNode pointBundle)
 {
     Gap = ((YuGiPointBundle)pointBundle).Gap;
     for (int i = 0; i < Children.Count; i++)
     {
         Children[i].CopyValues(pointBundle.Children[i]);
     }
 }
        /// <summary>
        /// Copies the value of another YuGiValue
        /// </summary>
        /// <param name="value">The YuGiValue that will be copied from</param>
        public override void CopyValues(YuGiNode value)
        {
            YuGiValue val = (YuGiValue)value;

            if (Length != val.Value.Length)
            {
                throw new ArgumentException("The given value has an different length!");
            }
            base.CopyValues(value);
            Value = val.Value; //overrides the children values by setting the value
        }