+ /**
+ * The action to perfom on a tick.
+ */
+ private TAction action;
+
+ // ------------------------------------------------------------------------
+ // Constructors -----------------------------------------------------------
+ // ------------------------------------------------------------------------
+
+ /**
+ * Package private constructor.
+ *
+ * @param duration number of milliseconds to wait between ticks
+ * @param recurring if true, re-schedule this timer after every tick
+ * @param action to perform on next tick
+ */
+ TTimer(final long duration, final boolean recurring, final TAction action) {
+
+ this.recurring = recurring;
+ this.duration = duration;
+ this.action = action;
+
+ Date now = new Date();
+ nextTick = new Date(now.getTime() + duration);
+ }
+
+ // ------------------------------------------------------------------------
+ // TTimer -----------------------------------------------------------------
+ // ------------------------------------------------------------------------
+