code: func getLUCIBuilders(c context.Context, master string) ([]string, error) {
  	buildersResponse, err := buildbucket.GetBuilders(c)
  	if err != nil {
  		return nil, err
  	}
  
  	var result []string
  	for _, bucket := range buildersResponse.Buckets {
  		for _, builder := range bucket.Builders {
  			if builder.PropertiesJson == "" {
  				continue
  			}
  			var prop struct {
  				Mastername string `json:"mastername"`
  			}
  			if err := json.Unmarshal([]byte(builder.PropertiesJson), &prop); err != nil {
  				logging.WithError(err).Errorf(c, "processing %s/%s", bucket.Name, builder.Name)
  				continue
  			}
  			if prop.Mastername == master {
  				result = append(result, builder.Name)
  			}
  		}
  	}
  	return result, nil
  }
docs: // getLUCIBuilders returns all LUCI builders for a given master from Swarmbucket.
  // LUCI builders do not have their own concept of "master".  Instead, this is
  // inferred from the "mastername" property in the property JSON.