public override void BuildIL(DynamicMethodBody dynamicMethodBody)
        {
            for (int i = 0; i < NestedSourceProperties.Count - 1; i++)
            {
                dynamicMethodBody
                    .Ldarg("source");

                for (int x = 0; x <= i; x++)
                {
                    dynamicMethodBody
                        .Call(this.NestedSourceProperties[x].GetGetMethod());
                }

                dynamicMethodBody
                    .IfNotNull();
            }

            dynamicMethodBody
                        .Ldarg("target")
                        .Ldarg("source");

            foreach (PropertyInfo propertyInfo in NestedSourceProperties)
            {
                dynamicMethodBody.Call(propertyInfo.GetGetMethod());
            }

            dynamicMethodBody
                .Call(this.TargetProperty.GetSetMethod());

            for (int i = 0; i < NestedSourceProperties.Count - 1; i++)
            {
                dynamicMethodBody
                    .EndIf();
            }
        }
 public override void BuildIL(DynamicMethodBody dynamicMethodBody)
 {
     dynamicMethodBody
             .Ldarg("target")
             .Ldarg("source")
             .Call(this.SourceProperty.GetGetMethod())
             .Call(this.TargetProperty.GetSetMethod());
 }