code: func (t *tokenWithProvider) fetchFromCache(ctx context.Context) error {
  	key, err := t.provider.CacheKey(ctx)
  	if err != nil {
  		return err
  	}
  	tok, err := t.cache.GetToken(key)
  	if err != nil {
  		return err
  	}
  	t.token = tok
  	return nil
  }
docs: // fetchFromCache updates 't.token' by reading it from the cache.