code: func (s *ChannelService) evaluate(ctx contextAPI.Client, responses []fabdiscovery.Response) ([]fab.Peer, error) {
  	if len(responses) == 0 {
  		return nil, errors.New("no successful response received from any peer")
  	}
  
  	// TODO: In a future patch:
  	// - validate the signatures in the responses
  	// For now just pick the first successful response
  
  	var lastErr error
  	for _, response := range responses {
  		endpoints, err := response.ForChannel(s.channelID).Peers()
  		if err != nil {
  			lastErr = DiscoveryError(err)
  			logger.Warnf("error getting peers from discovery response: %s", lastErr)
  			continue
  		}
  		return s.asPeers(ctx, endpoints), nil
  	}
  	return nil, lastErr
  }
docs: // evaluate validates the responses and returns the peers