public void withdrawByTransportOrder(String name, boolean immediate, boolean disableVehicle) throws ObjectUnknownException { requireNonNull(name, "name"); if (orderService.fetchObject(TransportOrder.class, name) == null) { throw new ObjectUnknownException("Unknown transport order: " + name); } kernelExecutor.submit(() -> { TransportOrder order = orderService.fetchObject(TransportOrder.class, name); if (disableVehicle && order.getProcessingVehicle() != null) { vehicleService.updateVehicleIntegrationLevel(order.getProcessingVehicle(), Vehicle.IntegrationLevel.TO_BE_RESPECTED); } dispatcherService.withdrawByTransportOrder(order.getReference(), immediate); }); }