public CloudBlobContainerEx(CloudBlobClientEx cloudBlobClient, Func <CloudBlobClient, CloudBlobContainer> ctorFunc)
        {
            if (cloudBlobClient == null)
            {
                throw new ArgumentNullException(nameof(cloudBlobClient));
            }

            if (ctorFunc == null)
            {
                throw new ArgumentNullException(nameof(ctorFunc));
            }


            this.cloudBlobClient   = cloudBlobClient;
            this.failoverContainer = ((IFailoverContainerContainerProvider <CloudBlobClient>)cloudBlobClient)
                                     .FailoverContainer.CreateChildContainer(ctorFunc);
        }
        public CloudBlobClientEx CreateCloudBlobClient()
        {
            CloudBlobClientEx cloudBlobClientEx = new CloudBlobClientEx(this, account => account.CreateCloudBlobClient());

            return(cloudBlobClientEx);
        }