static void cancelTimerOrInterruptThread(O timer) { if (timer instanceof Thread && !timer instanceof AutoCloseable) // AutoCloseable takes precedence interruptThread((Thread) timer); else cancelTimer(timer); }