}
public void agenda() {
WaitResult wr;
double localInterval;
SimEventListener localListener;
while (true) {
wr = this.waitForActionOrTrigger(trigger);
if (!wr.triggerOccurred()) break;
trigger.setValue(false);
simulation.setPace(0);
synchronized (this) {
localInterval = interval;
localListener = listener;
}
// info("about to wait");
this.waitForTime(localInterval * 0.9999999999);
simulation.pauseSimulation();
// info("calling listener");
if (localListener != null) localListener.simEventOccurred(
new SimEvent(this, getTimeNow()));
}
}