@Override public void run() { if (controller.skipRun(new Date(scheduledRunTime))) { return; } long lastRunStartTime = System.currentTimeMillis(); Object lastResult = null; try { super.run(); lastResult = get(); } catch (Throwable t) { } long lastRunEndTime = System.currentTimeMillis(); controller.doneExecution(lastResult, scheduledRunTime, lastRunStartTime, lastRunEndTime); }