code: @Override
  	public void terminateMachine( TargetHandlerParameters parameters, String machineId ) throws TargetException {
  
  		try {
  			cancelMachineConfigurator( machineId );
  
  			final ServiceInstance vmwareServiceInstance = getServiceInstance( parameters.getTargetProperties());
  			VirtualMachine vm = getVirtualMachine( vmwareServiceInstance, machineId );
  			if (vm == null)
  				throw new TargetException( "Error vm: " + machineId + " was not found");
  
  			Task task = vm.powerOffVM_Task();
  			try {
  				if(!(task.waitForTask()).equals(Task.SUCCESS))
  					throw new TargetException( "Error while trying to stop vm: " + machineId);
  
  			} catch (InterruptedException ignore) { /*ignore*/ }
  
  			task = vm.destroy_Task();
  			try {
  				if(!(task.waitForTask()).equals(Task.SUCCESS))
  					throw new TargetException( "Error while trying to remove vm: " + machineId);
  
  			} catch (InterruptedException ignore) { /*ignore*/ }
  
  		} catch( Exception e ) {
  			throw new TargetException(e);
  		}
  	}
docs: /*
  (non-Javadoc)
  @see net.roboconf.target.api.TargetHandler
  #terminateMachine(net.roboconf.target.api.TargetHandlerParameters, java.lang.String)