code: func getTargetsWithoutDuplicates(targets []fab.ProposalProcessor) []fab.ProposalProcessor {
  	peerUrlsToTargets := map[string]fab.ProposalProcessor{}
  	var uniqueTargets []fab.ProposalProcessor
  
  	for i := range targets {
  		peer, ok := targets[i].(fab.Peer)
  		if !ok {
  			// ProposalProcessor is not a fab.Peer... cannot remove duplicates
  			return targets
  		}
  		if _, present := peerUrlsToTargets[peer.URL()]; !present {
  			uniqueTargets = append(uniqueTargets, targets[i])
  			peerUrlsToTargets[peer.URL()] = targets[i]
  		}
  	}
  
  	if len(uniqueTargets) != len(targets) {
  		logger.Warn("Duplicate target peers in configuration")
  	}
  
  	return uniqueTargets
  }
docs: // getTargetsWithoutDuplicates returns a list of targets without duplicates