void (List<? extends File> files, @NotNull TreePath target) { ApplicationManager.getApplication().executeOnPooledThread(() -> { var virtualFiles = getVirtualFiles(files); ReadAction.nonBlocking(() -> new DropContext(psiFilesFromVirtualFiles(virtualFiles), getPsiElement(target), null)) .finishOnUiThread(ModalityState.defaultModalityState(), context -> doDrop(context)) .submit(AppExecutorUtil.getAppExecutorService()); }); }