in src/com/vmware/vim25/mox/VirtualMachineDeviceManager.java [901:915]
private <T extends VirtualController> T getFirstAvailableController(Class<T> clazz)
{
VirtualController vc = createControllerInstance(clazz);
int maxNodes = getMaxNodesPerControllerOfType(vc);
for (T controller : getVirtualDevicesOfType(clazz))
{
// Check if controller can accept addition of new devices.
if (controller.device == null || controller.device.length < maxNodes)
{
return controller;
}
}
return null;
}