List<AnAction> (@NotNull PsiFile file, Project project, Editor editor) { final PsiElement leaf = file.findElementAt(editor.getCaretModel().getOffset()); if (leaf == null) return Collections.emptyList(); PsiMethod method = ObjectUtils.tryCast(leaf.getParent(), PsiMethod.class); if (method == null) return Collections.emptyList(); List<AnAction> actions = new ArrayList<>(); for (PsiParameter parameter: method.getParameterList().getParameters()) { MakeInferredAnnotationExplicit intention = new MakeInferredAnnotationExplicit(); if (intention.isAvailable(file, parameter)) { actions.add(new AnAction(JavaBundle.message("action.text.0.on.parameter.1", intention.getText(), parameter.getName())) { @Override public void actionPerformed(@NotNull AnActionEvent e) { PsiDocumentManager.getInstance(project).commitAllDocuments(); intention.makeAnnotationsExplicit(project, file, parameter); } }); } } return actions; }