/// <summary>
        /// Returns a deep copy of this instance.
        /// </summary>
        /// <returns></returns>
        public override ValueBindingModel Clone()
        {
            var clone = new MultiValueBindingModel();

            CopyTo(clone);

            return(clone);
        }
        private void CopyTo(MultiValueBindingModel target)
        {
            base.CopyTo(target);

            target.Bindings.AddRange(
                from binding in this.Bindings
                select(SingleValueBindingModel) binding.Clone());
        }