public void actions() {
   (nextCust = new Customer()).schedule(Rand1.expon(genArr, meanDelay));
   if (!balk()) {
     tellers.request(1);
     delay(Rand1.erlang(genServ, 2, minute));
     tellers.release(1);
     nbServed++;
   }
 }
 public void actions() {
   int nbTellers; // Number of tellers today.
   nbServed = 0;
   tellers.setCapacity(0);
   tellers.waitList().initStat();
   meanDelay = 2.0 * minute;
   // It is 9:45, start arrival process.
   (nextCust = new Customer()).schedule(Rand1.expon(genArr, meanDelay));
   delay(15.0 * minute);
   // Bank opens at 10:00, generate number of tellers.
   double u = genTeller.randU01();
   if (u >= 0.2) nbTellers = 3;
   else if (u < 0.05) nbTellers = 1;
   else nbTellers = 2;
   tellers.setCapacity(nbTellers);
   delay(1.0); // It is 11:00, double arrival rate.
   nextCust.reschedule(nextCust.getDelay() / 2.0);
   meanDelay = minute;
   delay(3.0); // It is 14:00, halve arrival rate.
   nextCust.reschedule(nextCust.getDelay() * 2.0);
   meanDelay = 2.0 * minute;
   delay(1.0); // It is 15:00, bank closes.
   nextCust.cancel();
 }