code: func New(params driverParameters) (storagedriver.StorageDriver, error) {
  	rootDirectory := strings.Trim(params.rootDirectory, "/")
  	if rootDirectory != "" {
  		rootDirectory += "/"
  	}
  	if params.chunkSize <= 0 || params.chunkSize%minChunkSize != 0 {
  		return nil, fmt.Errorf("Invalid chunksize: %d is not a positive multiple of %d", params.chunkSize, minChunkSize)
  	}
  	d := &driver{
  		bucket:        params.bucket,
  		rootDirectory: rootDirectory,
  		email:         params.email,
  		privateKey:    params.privateKey,
  		client:        params.client,
  		chunkSize:     params.chunkSize,
  	}
  
  	return &Wrapper{
  		baseEmbed: baseEmbed{
  			Base: base.Base{
  				StorageDriver: base.NewRegulator(d, params.maxConcurrency),
  			},
  		},
  	}, nil
  }
docs: // New constructs a new driver