@Override
  public final boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
    if (requiresEditor() && editor == null) return false;

    return isAvailableImpl(project, editor, file);
  }
@Override
  public final boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file)