/// <summary>
        /// Creates a new <see langword="object"/> that is a copy of the current instance.
        /// </summary>
        /// <returns>
        /// A new object that is a copy of this instance.
        /// </returns>
        public ClassMapping Clone()
        {
            var classMapping = new ClassMapping
            {
                AutoMap = AutoMap,
                Ignored = Ignored,
                Mapped = Mapped,
                TypeAccessor = TypeAccessor,

            };


            foreach (var m in Members)
            {
                var memberMapping = new MemberMapping
                {
                    Ignored = m.Ignored,
                    MemberAccessor = m.MemberAccessor,
                    DataSource = m.DataSource
                };

                classMapping.Members.Add(memberMapping);
            }

            return classMapping;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="MappingContext"/> class.
 /// </summary>
 /// <param name="classMapping">The class mapping.</param>
 /// <param name="memberMapping">The member mapping.</param>
 public MappingContext(ClassMapping classMapping, MemberMapping memberMapping)
 {
     ClassMapping = classMapping;
     MemberMapping = memberMapping;
 }