code: func New(serviceNames ...string) (DiscoveryServer, error) {
  	desc, err := combineDescriptors(serviceNames)
  	if err != nil {
  		return nil, err
  	}
  	desc = proto.Clone(desc).(*descriptor.FileDescriptorSet)
  
  	cpy := make([]string, len(serviceNames))
  	copy(cpy, serviceNames)
  	return &service{cpy, desc}, nil
  }
docs: // New creates a discovery server for all the given services.
  // The service descriptions must be registered using
  // RegisterDescriptorSetCompressed which is called by init() function
  // generated by go.chromium.org/luci/grpc/cmd/cproto.