public override bool SkipProperty(PropertyInfo propertyInfo, ElasticsearchPropertyAttributeBase attribute)
        {
            var list = PropertyInfoFactory.GetMappedProperties <T>();
            var name = char.ToLowerInvariant(propertyInfo.Name[0]) + propertyInfo.Name.Substring(1);

            return(list.Contains(name) == false);
        }
        protected override IList <JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
        {
            var properties = base.CreateProperties(type, memberSerialization);
            var mapped     = PropertyInfoFactory.GetMappedProperties(type);

            if (mapped == null || mapped.Any() == false)
            {
                return(properties);
            }
            properties = properties.Where(p => mapped.Contains(p.PropertyName)).ToList();
            return(properties);
        }