@Override public boolean isAvailable(@NotNull Project project, Editor editor, @NotNull PsiFile file) { if (!super.isAvailable(project, editor, file)) { return false; } KtTypeReference typeReference = annotationEntry.getTypeReference(); if (typeReference == null) { return false; } KtSimpleNameExpression referenceExpression = PsiTreeUtil.findChildOfType(typeReference, KtSimpleNameExpression.class); if (referenceExpression == null) { return false; } PsiReference reference = ReferenceUtilKt.getMainReference(referenceExpression); PsiElement target = reference.resolve(); if (target instanceof KtClass) { annotationClass = (KtClass) target; return JetRefactoringUtilKt.canRefactor(annotationClass); } return false; }