vsphere/internal/virtualdevice/virtual_machine_device_subresource.go
func (r *Subresource) GetWithRestart(key string) interface{} {
	if r.HasChange(key) {
		r.SetRestart(key)
	}
	return r.Get(key)
}
func (r *Subresource) GetWithRestart(key string) interface{} {
	if r.HasChange(key) {
		r.SetRestart(key)
	}
	return r.Get(key)
}
// GetWithRestart checks to see if a field has been modified, returns the new
// value, and sets restart if it has changed.