code: func (c *Configs) GetConfig(configName configName) (*ConfigSettings, error) {
  	// Order byConfig according to configNames ordering function.
  	out := &ConfigSettings{}
  	for _, pair := range c.getSortedConfigPairs() {
  		ok := true
  		for i, confKey := range configName {
  			if pair.key[i].isBound() && pair.key[i].compare(confKey) != 0 {
  				ok = false
  				break
  			}
  		}
  		if ok {
  			var err error
  			if out, err = out.union(pair.value); err != nil {
  				return nil, err
  			}
  		}
  	}
  	return out, nil
  }
docs: // GetConfig returns all configs that matches this config as a single ConfigSettings.
  //
  // Returns nil if none apply.