public PropertyMappingBuilder(
            [JetBrains.Annotations.NotNull] EntityMappingBuilder <T> entity,
            [JetBrains.Annotations.NotNull] Expression <Func <T, object> > memberGetter)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }
            if (memberGetter == null)
            {
                throw new ArgumentNullException("memberGetter");
            }

            _entity       = entity;
            _memberGetter = memberGetter;
            _memberInfo   = MemberHelper.MemberOf(memberGetter);
        }
        public PropertyMappingBuilder(
            [JetBrains.Annotations.NotNull] EntityMappingBuilder <T> entity,
            [JetBrains.Annotations.NotNull] Expression <Func <T, object> > memberGetter)
        {
            if (entity == null)
            {
                throw new ArgumentNullException("entity");
            }
            if (memberGetter == null)
            {
                throw new ArgumentNullException("memberGetter");
            }

            _entity       = entity;
            _memberGetter = memberGetter;
            _memberInfo   = MemberHelper.MemberOf(memberGetter);
            if (_memberInfo.ReflectedTypeEx() != typeof(T))
            {
                _memberInfo = typeof(T).GetMemberEx(_memberInfo) ?? _memberInfo;
            }
        }