Date prevFireTime = trigger.getPreviousFireTime();
// in case trigger was replaced between acquiring and firering
timeTriggers.remove(tw);
// call triggered on our copy, and the scheduler's copy
tw.triggered(cal, triggerFacade);
trigger.triggered(cal); // calendar is already clone()'d so it is okay to pass out to trigger
// tw.state = EXECUTING;
tw.setState(TriggerState.WAITING, terracottaClientId, triggerFacade);