void (final Runnable runnable) { synchronized (myLock) { if (runnable == null) { myExecuteInsideUpdate = null; } else { myExecuteInsideUpdate = new Thread(() -> { // wait until starter sleeps synchronized (myLock) { runnable.run(); } }, "vcs delaying execute"); } } }