code: func (actor Actor) GetServiceByNameAndBrokerName(serviceName, serviceBrokerName string) (Service, Warnings, error) {
  	filters := []ccv2.Filter{ccv2.Filter{
  		Type:     constant.LabelFilter,
  		Operator: constant.EqualOperator,
  		Values:   []string{serviceName},
  	}}
  
  	if serviceBrokerName != "" {
  		serviceBroker, warnings, err := actor.GetServiceBrokerByName(serviceBrokerName)
  		if err != nil {
  			return Service{}, warnings, err
  		}
  
  		brokerFilter := ccv2.Filter{
  			Type:     constant.ServiceBrokerGUIDFilter,
  			Operator: constant.EqualOperator,
  			Values:   []string{serviceBroker.GUID},
  		}
  		filters = append(filters, brokerFilter)
  	}
  
  	services, warnings, err := actor.CloudControllerClient.GetServices(filters...)
  	if err != nil {
  		return Service{}, Warnings(warnings), err
  	}
  
  	if len(services) == 0 {
  		return Service{}, Warnings(warnings), actionerror.ServiceNotFoundError{Name: serviceName}
  	}
  
  	if len(services) > 1 {
  		return Service{}, Warnings(warnings), actionerror.DuplicateServiceError{Name: serviceName}
  	}
  
  	return Service(services[0]), Warnings(warnings), nil
  }
docs: // GetServiceByNameAndBrokerName returns services based on the name and broker provided.
  // If a service broker name is provided, only services for that broker will be returned.
  // If there are no services, a ServiceNotFoundError will be returned.
  //
  // NOTE: this will fail for non-admin users if the broker name is specified, as only
  // admin users are able to view the list of service brokers.