// Chute that spews boxes: class Chute { final int LOW = 1; // min amount of boxes that the Chute can spew final int HIGH = 3; // max amount of boxes that the Chute can spew Chute() { } // create a new Chute // Precondition: Chute has not spewed boxes yet. // Postcondition: Chute spews random, but unlimited, amount of boxes: int spewBoxes() { _______________________________________________________ ; } } // Class Chute // Bin holds boxes that spew forth from Bin: class Bin { _____________________________ ; // amount of boxes currently in Bin _____________________________ ; // max number of boxes Bin() { } } Class Bin // Worker takes boxes from Bin and places them in the Truck: class Worker { int id; // Worker's identification String name; // Worker's name ___________________________________________ ; // Worker's efficiency final int LOW = 1; // minimum amount of boxes Worker will attempt to take final int HIGH = 3; // maximum amount of boxes Worker will attempt to take Worker() { } // Precondition: Worker has not extracted boxes yet. // Postcondition: Worker attempts to extract boxes from Bin: int extractBoxes() { ______________________________________________________ ; } } // Class Worker // Truck holds boxes left over: class Truck { _____________________________ ; // amount of boxes currently in Truck } // Class Truck