code: func ApplyPropertyChange(obj Reference, changes []types.PropertyChange) {
  	t := typeInfoForType(obj.Reference().Type)
  	v := reflect.ValueOf(obj)
  
  	for _, p := range changes {
  		rv, ok := t.props[p.Name]
  		if !ok {
  			continue
  		}
  
  		assignValue(v, rv, reflect.ValueOf(p.Val))
  	}
  }
docs: // ApplyPropertyChange converts the response of a call to WaitForUpdates
  // and applies it to the given managed object.