@Override
  protected boolean isElementApplicable(@NotNull PsiElement element, @NotNull ActionContext context) {
    if (!JavaLanguage.INSTANCE.equals(element.getLanguage())) return false;

    PsiElementPredicate predicate = myPredicate.get();
    return predicate instanceof PsiElementContextPredicate contextPredicate ?
           contextPredicate.satisfiedBy(element, context) :
           predicate.satisfiedBy(element);
  }
@Override
  protected boolean isElementApplicable(@NotNull PsiElement element, @NotNull ActionContext context)