public Task <IValueProvider> BindAsync(IStorageTable value, ValueBindingContext context)
            {
                PocoEntityWriter <TElement> collector = new PocoEntityWriter <TElement>(value);
                IValueProvider provider = new PocoEntityCollectorBinder <TElement>(value, collector, typeof(IAsyncCollector <TElement>));

                return(Task.FromResult(provider));
            }
        public PocoEntityCollectorBinder(IStorageTable table, PocoEntityWriter <T> value, Type valueType)
        {
            if (value != null && !valueType.IsAssignableFrom(value.GetType()))
            {
                throw new InvalidOperationException("value is not of the correct type.");
            }

            _table     = table;
            _value     = value;
            _valueType = valueType;
        }