void () { try { if (myDisposed) { return; } Runnable task; synchronized (LOCK) { task = myTask; myTask = null; } if (task != null) { runSafely(task); } } catch (ProcessCanceledException ignored) { } }