docs: public int lookForSelectablePosition(int position, boolean lookDown) {
          final ListAdapter adapter = getAdapter();
          if (adapter == null || isInTouchMode()) {
              return INVALID_POSITION;
          }
          final int count = adapter.getCount();
          if (!getAdapter().areAllItemsEnabled()) {
              if (lookDown) {
                  position = Math.max(0, position);
                  while (position < count && !adapter.isEnabled(position)) {
                      position++;
                  }
              } else {
                  position = Math.min(position, count - 1);
                  while (position >= 0 && !adapter.isEnabled(position)) {
                      position--;
                  }
              }
              if (position < 0 || position >= count) {
                  return INVALID_POSITION;
              }
              return position;
          } else {
              if (position < 0 || position >= count) {
                  return INVALID_POSITION;
              }
              return position;
          }
      }