assert availableWindows[type.ordinal()] > 0;
--availableWindows[type.ordinal()];
int leaveAt = now + customer.serviceTime;
out.printf("time %5d %16s(%5d) sits at %s window, will leave at %d\n",
now, customer.getTypeName(), customer.id, type, leaveAt);
simulator.addEvent(new CustomerLeaveEvent(leaveAt, customer, this, type));
}