public MemberToken(PropertyInfo property)
        {
            if (property == null)
            {
                throw new ArgumentNullException(nameof(property));
            }

            _name = property.Name;
            _type = property.PropertyType;
            _kind = MemberKind.Property;

            if (property.CanRead)
            {
                _getter = PropertyInfoExtension.GenerateGetter(property);
            }
        }