code: func (l VirtualDeviceList) FindCdrom(name string) (*types.VirtualCdrom, error) {
  	if name != "" {
  		d := l.Find(name)
  		if d == nil {
  			return nil, fmt.Errorf("device '%s' not found", name)
  		}
  		if c, ok := d.(*types.VirtualCdrom); ok {
  			return c, nil
  		}
  		return nil, fmt.Errorf("%s is not a cdrom device", name)
  	}
  
  	c := l.SelectByType((*types.VirtualCdrom)(nil))
  	if len(c) == 0 {
  		return nil, errors.New("no cdrom device found")
  	}
  
  	return c[0].(*types.VirtualCdrom), nil
  }
docs: // FindCdrom finds a cdrom device with the given name, defaulting to the first cdrom device if any.