code: func (r *Subresource) FindVirtualDeviceByAddr(l object.VirtualDeviceList) (types.BaseVirtualDevice, error) {
  	log.Printf("[DEBUG] FindVirtualDevice: Looking for device with address %s", r.DevAddr())
  	ct, cb, du, err := splitDevAddr(r.DevAddr())
  	if err != nil {
  		return nil, err
  	}
  
  	// find the controller
  	csf := findVirtualDeviceInListControllerSelectFunc(ct, cb)
  	ctlrs := l.Select(csf)
  	if len(ctlrs) != 1 {
  		return nil, fmt.Errorf("invalid controller result - %d results returned (expected 1): type %q, bus number: %d", len(ctlrs), ct, cb)
  	}
  	ctlr := ctlrs[0]
  
  	// find the device
  	ckey := ctlr.GetVirtualDevice().Key
  	dsf := findVirtualDeviceInListDeviceSelectFunc(ckey, du)
  	devices := l.Select(dsf)
  	if len(devices) != 1 {
  		return nil, fmt.Errorf("invalid device result - %d results returned (expected 1): controller key %q, disk number: %d", len(devices), ckey, du)
  	}
  	device := devices[0]
  	log.Printf("[DEBUG] FindVirtualDevice: Device found: %s", l.Name(device))
  	return device, nil
  }
docs: // FindVirtualDeviceByAddr locates the subresource's virtual device in the
  // supplied VirtualDeviceList by its device address.