@Override
  protected boolean isAvailableOnElementInEditorAndFile(@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;
  }
@Override
  protected boolean isAvailableOnElementInEditorAndFile(@NotNull PsiElement element, @NotNull Editor editor, @NotNull PsiFile file,
                                                        @NotNull DataContext context, @NotNull String place)