boolean (@NotNull PsiElement element, @NotNull Editor editor, @NotNull PsiFile file, @NotNull DataContext context, @NotNull String place) { final PsiElement psiElement = file.findElementAt(editor.getCaretModel().getOffset()); final PsiClass containingClass = PsiTreeUtil.getParentOfType(psiElement, PsiClass.class, false); if (containingClass != null) { if (ActionPlaces.isPopupPlace(place) || place.equals(ActionPlaces.REFACTORING_QUICKLIST)) { if (PsiTreeUtil.getParentOfType(psiElement, PsiField.class, false) == null) return false; } final PsiField[] fields = containingClass.getFields(); for (PsiField field : fields) { if (isAcceptedField(field)) return true; } } return false; }