!7 module HourlyOnMark > DynPrintLog { transient java.util.Timer timer; start { startTimer(); ownResource(tempAddToList((L) dm_getOSOpt('timeJumpDetector_onTimeJump), r onTimeJump)); } void onTimeJump enter { print("TIME JUMP"); cancelTimer(timer); startTimer(); } void startTimer { timer = atTheStartOfEveryHour(r { logQuotedWithDate(javaxDataDir("hourly-mark.log"), print("On at: ", localDateWithSeconds())); }); } }