code: func (cp *ChannelProvider) ChannelService(ctx fab.ClientContext, channelID string) (fab.ChannelService, error) {
  	key, err := newCtxtCacheKey(ctx)
  	if err != nil {
  		return nil, err
  	}
  
  	ctxtCache, err := cp.ctxtCaches.Get(key)
  	if err != nil {
  		// This should never happen since the creation of a cache never returns an error
  		return nil, err
  	}
  
  	return &ChannelService{
  		provider:  cp,
  		context:   ctx,
  		channelID: channelID,
  		ctxtCache: ctxtCache.(*contextCache),
  	}, nil
  }
docs: // ChannelService creates a ChannelService for an identity