private static FactHandle insertAndFire(KieSession kieSession, SimpleEvent simpleEvent) { LOGGER.debug("Inserting event and firing rules."); PseudoClockScheduler clock = kieSession.getSessionClock(); long currentClockTime = clock.getCurrentTime(); long deltaTime = simpleEvent.getTimestamp() - currentClockTime; if (deltaTime > 0) { clock.advanceTime(deltaTime, TimeUnit.MILLISECONDS); LOGGER.debug("Current time: " + clock.getCurrentTime()); } FactHandle handle = kieSession.insert(simpleEvent); kieSession.fireAllRules(); LOGGER.debug("Rules fired."); return handle; }