void () { ThreadingAssertions.assertEventDispatchThread(); cancelScrollToSelectedElement(); if (isDisposed()) return; myLastAutoscrollPromise = ReadAction.nonBlocking(this::doFindSelectedElement) .withDocumentsCommitted(myProject) .expireWith(this) .finishOnUiThread(ModalityState.current(), this::doScrollToSelectedElement) .submit(AppExecutorUtil.getAppExecutorService()); }