public void onFire(W window, Timers timers, StateAccessor<?> state) throws Exception { // shouldFire should be false. // However it is too expensive to assert. FinishedTriggersBitSet finishedSet = readFinishedBits(state.access(FINISHED_BITS_TAG)).copy(); TriggerStateMachine.TriggerContext context = contextFactory.base(window, timers, rootTrigger, finishedSet); rootTrigger.invokeOnFire(context); persistFinishedSet(state, finishedSet); }