public void run() { try { while (!Thread.interrupted()) { // Blocks until a course is ready Plate plate = filledOrders.take(); print(this + "received " + plate + " delivering to " + plate.getOrder().getCustomer()); plate.getOrder().getCustomer().deliver(plate); } } catch (InterruptedException e) { print(this + " interrupted"); } print(this + " off duty"); }