public async Task <IEnumerable <IFileSystemItem> > GetChildren()
        {
            var azurePath = this.ContainerPath.Replace(PathUtils.Separator, '/');
            var results   = this.ContainerClient.GetBlobsByHierarchyAsync(
                prefix: azurePath + "/",
                delimiter: "/"
                );

            var children = new List <IFileSystemItem>();

            await foreach (var result in results)
            {
                if (result.Prefix == null)
                {
                    var fullPath = PathUtils.Combine(this.Container, result.Blob.Name);
                    var item     = new AzureBlobFile(this.Client, fullPath);
                    if (item.Path != this.ExistanceMarker.Path)
                    {
                        children.Add(item);
                    }
                }
                else
                {
                    var fullPath = PathUtils.Combine(this.Container, result.Prefix);
                    var item     = new AzureBlobDirectory(this.Client, fullPath);
                    children.Add(item);
                }
            }

            return(children);
        }
 public AzureBlobDirectory(BlobServiceClient client, string path) : base(client, path)
 {
     this.ExistanceMarker = new AzureBlobFile(client, PathUtils.Combine(this.Path, ".marker"));
 }