code: func (d *driver) Stat(ctx context.Context, path string) (storagedriver.FileInfo, error) {
  	blobRef := d.client.GetContainerReference(d.container).GetBlobReference(path)
  	// Check if the path is a blob
  	if ok, err := blobRef.Exists(); err != nil {
  		return nil, err
  	} else if ok {
  		err = blobRef.GetProperties(nil)
  		if err != nil {
  			return nil, err
  		}
  		blobProperties := blobRef.Properties
  
  		return storagedriver.FileInfoInternal{FileInfoFields: storagedriver.FileInfoFields{
  			Path:    path,
  			Size:    blobProperties.ContentLength,
  			ModTime: time.Time(blobProperties.LastModified),
  			IsDir:   false,
  		}}, nil
  	}
  
  	// Check if path is a virtual container
  	virtContainerPath := path
  	if !strings.HasSuffix(virtContainerPath, "/") {
  		virtContainerPath += "/"
  	}
  
  	containerRef := d.client.GetContainerReference(d.container)
  	blobs, err := containerRef.ListBlobs(azure.ListBlobsParameters{
  		Prefix:     virtContainerPath,
  		MaxResults: 1,
  	})
  	if err != nil {
  		return nil, err
  	}
  	if len(blobs.Blobs) > 0 {
  		// path is a virtual container
  		return storagedriver.FileInfoInternal{FileInfoFields: storagedriver.FileInfoFields{
  			Path:  path,
  			IsDir: true,
  		}}, nil
  	}
  
  	// path is not a blob or virtual container
  	return nil, storagedriver.PathNotFoundError{Path: path}
  }
docs: // Stat retrieves the FileInfo for the given path, including the current size
  // in bytes and the creation time.