code: func (configMgr *ConfigurationManager) Unmarshal(obj interface{}) error {
  	rv := reflect.ValueOf(obj)
  	// only pointers are accepted
  	if rv.Kind() != reflect.Ptr || rv.IsNil() {
  		err := errors.New("invalid object supplied")
  		openlogging.GetLogger().Error("invalid object supplied: " + err.Error())
  		return err
  	}
  
  	return configMgr.unmarshal(rv, doNotConsiderTag)
  }
docs: // Unmarshal deserailize config into object