void (final long timeOut, final String message, Throwable allocation, final boolean isEdt) { myMessage = message; myAllocation = allocation; final long current = System.currentTimeMillis(); myTask = SimpleTimer.getInstance().setUp(() -> { myShouldDumpError = System.currentTimeMillis() - current > timeOut; //double check is necessary :-( if (isEdt) { SwingUtilities.invokeLater(this); } else { this.run(); } }, timeOut); }