/// <summary>
        /// Initializes a new instance of the <see cref="FileClient"/> class.
        /// </summary>
        /// <param name="cloudFileClient">The CloudFileClient instance.</param>
        public FileClient(CloudFileClient cloudFileClient)
        {
            cloudFileClient.ValidateNull();

            this._cloudFileClient = cloudFileClient;
            this.SetDefaultRetryIfNotExists(this._cloudFileClient);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="FileStorage" /> class.
        /// </summary>
        /// <param name="shareName">A string containing the name of the share.</param>
        /// <param name="cloudFileClient">The cloud file client.</param>
        /// <param name="createIfNotExists">true to creates the share if it does not already exist; otherwise, false.</param>
        public FileStorage(string shareName, CloudFileClient cloudFileClient, bool createIfNotExists = true)
        {
            shareName.ValidateShareName();
            cloudFileClient.ValidateNull();

            this._fileClient = new FileClient(cloudFileClient);

            this._cloudFileShare = this._fileClient.InnerCloudFileClient.GetShareReference(shareName);

            if (createIfNotExists)
            {
                this._cloudFileShare.CreateIfNotExists();
            }
        }