public static Task <DocumentCollection> CreateCollection(this IProvider provider, string name, CollectionSettings settings)
        {
            var content = new CollectionMeta
            {
                Settings = settings,
            };

            var collectionDocument = new TypedDocument <CollectionMeta>
            {
                Meta = new DocumentMeta
                {
                    Name = name,
                },

                Content = content,
            };

            return(provider
                   .StoreObject(collectionDocument)
                   .ContinueWith <DocumentCollection>(t => new DocumentCollection(provider, t.Result)));
        }
 internal DocumentCollection(IProvider provider, TypedDocument <CollectionMeta> collectionRoot)
 {
     this.provider       = provider;
     this.collectionRoot = collectionRoot;
 }