public static IHorizontalReportSchemaBuilder <TEntity> AddRow <TEntity, TValue>(
            this IHorizontalReportSchemaBuilder <TEntity> builder,
            string title,
            IValueProvider <TValue> valueProvider)
        {
            ValueProviderReportCellsProvider <TEntity, TValue> provider = new ValueProviderReportCellsProvider <TEntity, TValue>(title, valueProvider);

            return(builder.AddRow(provider));
        }
        public static IVerticalReportSchemaBuilder <TEntity> AddColumn <TEntity, TValue>(
            this IVerticalReportSchemaBuilder <TEntity> builder,
            string title,
            IValueProvider <TValue> valueProvider)
        {
            ValueProviderReportCellsProvider <TEntity, TValue> provider = new ValueProviderReportCellsProvider <TEntity, TValue>(title, valueProvider);

            return(builder.AddColumn(provider));
        }
        public static IHorizontalReportSchemaBuilder <TEntity> InsertRowBefore <TEntity, TValue>(
            this IHorizontalReportSchemaBuilder <TEntity> builder,
            string beforeTitle,
            string title,
            IValueProvider <TValue> valueProvider)
        {
            ValueProviderReportCellsProvider <TEntity, TValue> provider = new ValueProviderReportCellsProvider <TEntity, TValue>(title, valueProvider);

            return(builder.InsertRowBefore(beforeTitle, provider));
        }