code: func (cMgr *ConfigurationManager) setValue(rValue reflect.Value, keyName string) error {
  	configValue := cMgr.GetConfigurationsByKey(keyName)
  	if configValue == nil {
  		return nil
  	}
  
  	// assign value if assignable
  	configRValue := reflect.ValueOf(configValue)
  	if configRValue.Kind() != rValue.Kind() {
  		returnCongValue, err := ToRvalueType(configRValue.Interface(), rValue.Type())
  		if err != nil {
  			return fmt.Errorf("value types of %s not matched. expect type : %s, config client type : %s",
  				keyName, rValue.Kind(), configRValue.Kind())
  		}
  
  		configRValue = returnCongValue
  	}
  
  	if rValue.CanSet() {
  		rValue.Set(configRValue)
  	}
  
  	return nil
  }
docs: // set values in object