public class Customer implements Comparable // Customer for the bank simulation, implements compareTo for PriorityQueue { private int inTime, serviceTime; // inTime is the time of the simulation in which Customer enters queue, serviceTime is amount of // time Customer will need help by a Teller public Customer(int i, int s) { inTime=i; // initialize the instance data serviceTime=s; } public void isServiced() // in each minute of the simulation, the Teller will serivce a customer (if any) by calling { // this method to denote that this Customer has been served 1 more minute of the Customer's serviceTime--; // original serviceTime } public boolean done() // Customer is done once serviceTime decrements to 0 { return (serviceTime==0); } public int getInTime() // need to compute Customer's wait time which is currentTime - inTime { return inTime; } public int getServiceTime() // needed for compareTo to compare _this_ Customer to another Customer { return serviceTime; } public int compareTo(Customer c) // used for PriorityQueue to determine where this Customer should go in line, ordered by { // serviceTime in ascending order with inTime as tie-breaker if(serviceTime>c.getServiceTime()) return 1; else if(serviceTime