void () { ThreadingAssertions.assertEventDispatchThread(); if (myHandler.isTestingMode() && !TestModeFlags.is(CompletionAutoPopupHandler.ourTestingAutopopup)) { closeAndFinish(false); PsiDocumentManager.getInstance(getProject()).commitAllDocuments(); new CodeCompletionHandlerBase(myCompletionType, false, false, true).invokeCompletion(getProject(), myEditor, myInvocationCount); return; } cancel(); final CompletionProgressIndicator current = CompletionServiceImpl.getCurrentCompletionProgressIndicator(); if (this != current) { LOG.error(current + "!=" + this + ";" + "current phase=" + CompletionServiceImpl.getCompletionPhase() + ";" + "clientId=" + ClientId.getCurrent()); } hideAutopopupIfMeaningless(); CompletionPhase oldPhase = CompletionServiceImpl.getCompletionPhase(); if (oldPhase instanceof CompletionPhase.CommittingDocuments) { ((CompletionPhase.CommittingDocuments)oldPhase).replaced = true; } CompletionPhase.CommittingDocuments.scheduleAsyncCompletion(myEditor, myCompletionType, null, getProject(), this); }