code: func (r *Store) Init(ctx context.Context, alias, path string, ids ...string) error {
  	out.Debug(ctx, "Instantiating new sub store %s at %s for %+v", alias, path, ids)
  	// parse backend URL
  	pathURL, err := backend.ParseURL(path)
  	if err != nil {
  		return errors.Wrapf(err, "failed to parse backend URL '%s': %s", path, err)
  	}
  	sub, err := sub.New(ctx, r.cfg, alias, pathURL, r.cfg.Directory(), r.agent)
  	if err != nil {
  		return errors.Wrapf(err, "failed to instantiate new sub store: %s", err)
  	}
  	if !r.store.Initialized(ctx) && alias == "" {
  		r.store = sub
  	}
  
  	out.Debug(ctx, "Initializing sub store at %s for %+v", path, ids)
  	if err := sub.Init(ctx, path, ids...); err != nil {
  		return errors.Wrapf(err, "failed to initialize new sub store: %s", err)
  	}
  
  	return r.initConfig(ctx, alias, path)
  }
docs: // Init tries to initialize a new password store location matching the object