@Override
  public final boolean canSelect(@NotNull SelectInContext context) {
    if (!isContextValid(context)) return false;

    return canSelectInner(context);
  }
@Override
  public final boolean canSelect(@NotNull SelectInContext context)