void (@NotNull Project project, @NotNull Editor editor, @NotNull PsiFile file, Surrounder surrounder) { if (!EditorModificationUtil.checkModificationAllowed(editor)) return; if (file instanceof PsiCompiledElement) { HintManager.getInstance().showErrorHint(editor, LangBundle.message("hint.text.can.t.modify.decompiled.code")); return; } List<AnAction> applicable = buildSurroundActions(project, editor, file, surrounder); if (applicable != null) { showPopup(editor, applicable); } else if (!ApplicationManager.getApplication().isUnitTestMode()) { HintManager.getInstance().showErrorHint(editor, LangBundle.message("hint.text.couldn.t.find.surround")); } }