public Task removeDevices(List<VirtualDevice> deviceList, boolean destroyDeviceBacking) throws InvalidName, VmConfigFault, DuplicateName, TaskInProgress, FileFault, InvalidState, ConcurrentAccess, InvalidDatastore, InsufficientResourcesFault, RuntimeFault, RemoteException
{
List<VirtualDeviceConfigSpec> configSpecList = new ArrayList<VirtualDeviceConfigSpec>();
boolean allDevicesSupportHotRemoval = allSupportHotRemoval(deviceList);
VirtualMachinePowerState powerState = vm.getRuntime().getPowerState();
if (!allDevicesSupportHotRemoval && powerState!= VirtualMachinePowerState.poweredOff )
{
throw new RuntimeException("Invalid power state: power off the VM first.");
}