@Override
  public final void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
    if (editor == null || !checkFile(file)) return;
    final PsiElement element = getElement(editor, file);
    if (element != null) {
      invoke(project, editor, element);
    }
  }
@Override
  public final void invoke(@NotNull Project project, Editor editor, PsiFile file)